linux/fs/nilfs2
Ryusuke Konishi f11459ad7d nilfs2: do not allocate multiple super block instances for a device
This stops allocating multiple super block instances for a device.

All snapshots and a current mode mount (i.e. latest tree) will be
controlled with nilfs_root objects that are kept within an sb
instance.

nilfs_get_sb() is rewritten so that it always has a root object for
the latest tree and snapshots make additional root objects.

The root dentry of the latest tree is binded to sb->s_root even if it
isn't attached on a directory.  Root dentries of snapshots or the
latest tree are binded to mnt->mnt_root on which they are mounted.

With this patch, nilfs_find_sbinfo() function, nilfs->ns_supers list,
and nilfs->ns_current back pointer, are deleted.  In addition,
init_nilfs() and load_nilfs() are simplified since they will be called
once for a device, not repeatedly called for mount points.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
2010-10-23 09:24:36 +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
export.h nilfs2: make snapshots in checkpoint tree exportable 2010-10-23 09:24:34 +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: deny write access to inodes in snapshots 2010-10-23 09:24:35 +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 nilfs2: deny write access to inodes in snapshots 2010-10-23 09:24:35 +09:00
nilfs.h nilfs2: deny write access to inodes in snapshots 2010-10-23 09:24:35 +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 nilfs2: use root object to get ifile 2010-10-23 09:24:35 +09:00
sb.h nilfs2: do not allocate multiple super block instances for a device 2010-10-23 09:24:36 +09: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: move inode count and block count into root object 2010-10-23 09:24:35 +09:00
segment.h nilfs2: use root object to get ifile 2010-10-23 09:24:35 +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: do not allocate multiple super block instances for a device 2010-10-23 09:24:36 +09:00
the_nilfs.c nilfs2: do not allocate multiple super block instances for a device 2010-10-23 09:24:36 +09:00
the_nilfs.h nilfs2: do not allocate multiple super block instances for a device 2010-10-23 09:24:36 +09:00