linux-stable/fs/nilfs2
Ryusuke Konishi ba65ae4729 nilfs2: add checkpoint tree to nilfs object
To hold multiple versions of a filesystem in one sb instance, a new
on-memory structure is necessary to handle one or more checkpoints.

This adds a red-black tree of checkpoints to nilfs object, and adds
lookup and create functions for them.

Each checkpoint is represented by "nilfs_root" structure, and this
structure has rb_node to configure the rb-tree.

The nilfs_root object is identified with a checkpoint number.  For
each snapshot, a nilfs_root object is allocated and the checkpoint
number of snapshot is assigned to it.  For a regular mount
(i.e. current mode mount), NILFS_CPTREE_CURRENT_CNO constant is
assigned to the corresponding nilfs_root object.

Each nilfs_root object has an ifile inode and some counters.  These
items will displace those of nilfs_sb_info structure in successive
patches.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
2010-10-23 09:24:34 +09:00
..
alloc.c nilfs2: add kernel doc comments to persistent object allocator functions 2010-05-10 11:32:31 +09:00
alloc.h nilfs2: add kernel doc comments to persistent object allocator functions 2010-05-10 11:32:31 +09:00
bmap.c nilfs2: get rid of nilfs_bmap_union 2010-07-23 10:02:14 +09:00
bmap.h nilfs2: get maximum number of child nodes from bmap object 2010-07-23 10:02:14 +09:00
btnode.c nilfs2: add read ahead mode to nilfs_btnode_submit_block 2010-07-23 10:02:15 +09:00
btnode.h nilfs2: add read ahead mode to nilfs_btnode_submit_block 2010-07-23 10:02:15 +09:00
btree.c nilfs2: apply read-ahead for nilfs_btree_lookup_contig 2010-07-23 10:02:16 +09:00
btree.h nilfs2: get rid of nilfs_bmap_union 2010-07-23 10:02:14 +09:00
cpfile.c nilfs2: trivial coding style fix 2009-12-25 13:01:50 +09:00
cpfile.h nilfs2: separate read method of meta data files on super root block 2009-11-20 10:05:48 +09:00
dat.c nilfs2: fix various typos in comments 2010-03-14 10:29:51 +09:00
dat.h nilfs2: separate read method of meta data files on super root block 2009-11-20 10:05:48 +09:00
dir.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
direct.c nilfs2: remove redundant pointer checks in bmap lookup functions 2010-07-23 10:02:14 +09:00
direct.h nilfs2: get rid of nilfs_bmap_union 2010-07-23 10:02:14 +09:00
file.c drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
gcdat.c simplify checks for I_CLEAR/I_FREEING 2010-08-09 16:47:44 -04:00
gcinode.c nilfs2: remove own inode hash used for GC 2010-10-23 09:24:34 +09:00
ifile.c nilfs2: add palloc cache to ifile 2009-11-20 10:05:50 +09:00
ifile.h nilfs2: separate constructor of metadata files 2009-11-20 10:05:48 +09:00
inode.c nilfs2: remove own inode hash used for GC 2010-10-23 09:24:34 +09:00
ioctl.c nilfs2: remove own inode hash used for GC 2010-10-23 09:24:34 +09:00
Kconfig Revert "task_struct: make journal_info conditional" 2009-12-17 13:23:24 -08:00
Makefile nilfs2: update makefile and Kconfig 2009-04-07 08:31:16 -07:00
mdt.c nilfs2: separate initializer of metadata file inode 2010-10-23 09:24:34 +09:00
mdt.h nilfs2: separate initializer of metadata file inode 2010-10-23 09:24:34 +09:00
namei.c nilfs really shouldn't slap struct dentry on stack... 2010-03-03 14:07:58 -05:00
nilfs.h nilfs2: remove own inode hash used for GC 2010-10-23 09:24:34 +09:00
page.c nilfs2: introduce check flag to btree node buffer 2010-07-23 10:02:15 +09:00
page.h nilfs2: introduce check flag to btree node buffer 2010-07-23 10:02:15 +09:00
recovery.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
sb.h nilfs2: simplify remaining sget() use 2009-06-11 21:36:18 -04:00
segbuf.c block: unify flags for struct bio and struct request 2010-08-07 18:20:39 +02:00
segbuf.h nilfs2: get rid of macros for segment summary information 2010-07-23 10:02:09 +09:00
segment.c nilfs2: remove own inode hash used for GC 2010-10-23 09:24:34 +09:00
segment.h nilfs2: keep zero value in i_cno except for gc-inodes 2010-10-23 09:24:33 +09:00
sufile.c nilfs2: fix various typos in comments 2010-03-14 10:29:51 +09:00
sufile.h nilfs2: clean up get/put function of a segment usage 2009-11-20 10:05:51 +09:00
super.c nilfs2: use iget5_locked to get inode 2010-10-23 09:24:33 +09:00
the_nilfs.c nilfs2: add checkpoint tree to nilfs object 2010-10-23 09:24:34 +09:00
the_nilfs.h nilfs2: add checkpoint tree to nilfs object 2010-10-23 09:24:34 +09:00