On Tue, 2008-04-29 at 11:59 -0700, Dave Hansen wrote: > The next patch will introduce a list of all mounts for a given > superblock. In order to keep the list, we need to make sure > all filesystems attaching a mount to a superblock get added > to this list. > > NFS currently bypasses the simple_set_mnt() function, and sets > mnt_sb directly. This patch makes it use a helper function, > instead. > > Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> > --- > > linux-2.6.git-dave/fs/namespace.c | 11 +++++++++-- > linux-2.6.git-dave/fs/nfs/super.c | 10 +++++----- > linux-2.6.git-dave/include/linux/fs.h | 1 + > 3 files changed, 15 insertions(+), 7 deletions(-) > > diff -puN fs/namespace.c~introduce_simple_set_mnt_no_get_helper_for_NFS fs/namespace.c > --- linux-2.6.git/fs/namespace.c~introduce_simple_set_mnt_no_get_helper_for_NFS 2008-04-29 11:56:39.000000000 -0700 > +++ linux-2.6.git-dave/fs/namespace.c 2008-04-29 11:56:39.000000000 -0700 > @@ -402,12 +402,19 @@ static void __mnt_unmake_readonly(struct > spin_unlock(&vfsmount_lock); > } > > -int simple_set_mnt(struct vfsmount *mnt, struct super_block *sb) > +int simple_set_mnt_no_get(struct vfsmount *mnt, struct super_block *sb) > { > mnt->mnt_sb = sb; > - mnt->mnt_root = dget(sb->s_root); > + add_mount_to_sb_list(mnt, sb); > return 0; > } > +EXPORT_SYMBOL(simple_set_mnt_no_get); > + > +int simple_set_mnt(struct vfsmount *mnt, struct super_block *sb) > +{ > + mnt->mnt_root = dget(sb->s_root); > + return simple_set_mnt_no_get(mnt, sb); > +} > My only concern is the proliferation of 'simple_*' operations: in some cases in libfs.c we explicitly label those as being for in-memory/ramfs filesystems, whereas in other cases (such as this one) the name appears to be used for more generic functions. Cheers Trond -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html