[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry
authorDavid Howells <dhowells@redhat.com>
Fri, 23 Jun 2006 09:02:58 +0000 (02:02 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 23 Jun 2006 14:42:45 +0000 (07:42 -0700)
commit726c334223180e3c0197cc980a432681370d4baf
tree8327b354bb3dc959a6606051ae6f8d4d035e38a2
parent454e2398be9b9fa30433fccc548db34d19aa9958
[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry

Give the statfs superblock operation a dentry pointer rather than a superblock
pointer.

This complements the get_sb() patch.  That reduced the significance of
sb->s_root, allowing NFS to place a fake root there.  However, NFS does
require a dentry to use as a target for the statfs operation.  This permits
the root in the vfsmount to be used instead.

linux/mount.h has been added where necessary to make allyesconfig build
successfully.

Interest has also been expressed for use with the FUSE and XFS filesystems.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Nathan Scott <nathans@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
60 files changed:
Documentation/filesystems/Locking
Documentation/filesystems/vfs.txt
arch/alpha/kernel/osf_sys.c
arch/mips/kernel/sysirix.c
arch/parisc/hpux/sys_hpux.c
arch/sparc64/solaris/fs.c
fs/adfs/super.c
fs/affs/super.c
fs/befs/linuxvfs.c
fs/bfs/inode.c
fs/cifs/cifsfs.c
fs/coda/inode.c
fs/coda/upcall.c
fs/compat.c
fs/cramfs/inode.c
fs/efs/super.c
fs/ext2/super.c
fs/ext3/super.c
fs/fat/inode.c
fs/freevxfs/vxfs_super.c
fs/fuse/inode.c
fs/hfs/super.c
fs/hfsplus/super.c
fs/hostfs/hostfs_kern.c
fs/hpfs/super.c
fs/hppfs/hppfs_kern.c
fs/hugetlbfs/inode.c
fs/isofs/inode.c
fs/jffs/inode-v23.c
fs/jffs2/fs.c
fs/jffs2/os-linux.h
fs/jfs/super.c
fs/libfs.c
fs/minix/inode.c
fs/ncpfs/inode.c
fs/nfs/inode.c
fs/nfsd/nfs4xdr.c
fs/nfsd/vfs.c
fs/ntfs/super.c
fs/ocfs2/super.c
fs/open.c
fs/qnx4/inode.c
fs/reiserfs/super.c
fs/romfs/inode.c
fs/smbfs/inode.c
fs/smbfs/proc.c
fs/smbfs/proto.h
fs/super.c
fs/sysv/inode.c
fs/udf/super.c
fs/ufs/super.c
fs/xfs/linux-2.6/xfs_super.c
include/linux/coda_psdev.h
include/linux/fs.h
include/linux/mount.h
include/linux/security.h
kernel/acct.c
mm/shmem.c
security/dummy.c
security/selinux/hooks.c