diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-12-08 20:51:13 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-06 23:16:54 -0500 |
commit | 64132379d509184425672e0dce1ac0a031e3f2a5 (patch) | |
tree | 2b7191e0e37bf061b2000935c7cf78e6fb1f3c95 | |
parent | cdcf116d44e78c7216ba9f8be9af1cdfca7af728 (diff) | |
download | lwn-64132379d509184425672e0dce1ac0a031e3f2a5.tar.gz lwn-64132379d509184425672e0dce1ac0a031e3f2a5.zip |
vfs: switch ->show_stats to struct dentry *
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | drivers/staging/pohmelfs/inode.c | 4 | ||||
-rw-r--r-- | fs/cifs/cifsfs.c | 2 | ||||
-rw-r--r-- | fs/nfs/super.c | 14 | ||||
-rw-r--r-- | fs/proc_namespace.c | 11 | ||||
-rw-r--r-- | include/linux/fs.h | 2 |
5 files changed, 17 insertions, 16 deletions
diff --git a/drivers/staging/pohmelfs/inode.c b/drivers/staging/pohmelfs/inode.c index 6c12516826ad..91ec29e112bc 100644 --- a/drivers/staging/pohmelfs/inode.c +++ b/drivers/staging/pohmelfs/inode.c @@ -1759,11 +1759,11 @@ err_out_exit: return err; } -static int pohmelfs_show_stats(struct seq_file *m, struct vfsmount *mnt) +static int pohmelfs_show_stats(struct seq_file *m, struct dentry *root) { struct netfs_state *st; struct pohmelfs_ctl *ctl; - struct pohmelfs_sb *psb = POHMELFS_SB(mnt->mnt_sb); + struct pohmelfs_sb *psb = POHMELFS_SB(root->d_sb); struct pohmelfs_config *c; mutex_lock(&psb->state_lock); diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 5bb961c13c4d..0cb89dc6526c 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c @@ -488,7 +488,7 @@ static void cifs_umount_begin(struct super_block *sb) } #ifdef CONFIG_CIFS_STATS2 -static int cifs_show_stats(struct seq_file *s, struct vfsmount *mnt) +static int cifs_show_stats(struct seq_file *s, struct dentry *root) { /* BB FIXME */ return 0; diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 0e6dd56a9f1e..dd74d3bc2eaa 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c @@ -265,7 +265,7 @@ static int nfs_statfs(struct dentry *, struct kstatfs *); static int nfs_show_options(struct seq_file *, struct vfsmount *); static int nfs_show_devname(struct seq_file *, struct vfsmount *); static int nfs_show_path(struct seq_file *, struct vfsmount *); -static int nfs_show_stats(struct seq_file *, struct vfsmount *); +static int nfs_show_stats(struct seq_file *, struct dentry *); static struct dentry *nfs_fs_mount(struct file_system_type *, int, const char *, void *); static struct dentry *nfs_xdev_mount(struct file_system_type *fs_type, @@ -785,10 +785,10 @@ static int nfs_show_path(struct seq_file *m, struct vfsmount *mnt) /* * Present statistical information for this VFS mountpoint */ -static int nfs_show_stats(struct seq_file *m, struct vfsmount *mnt) +static int nfs_show_stats(struct seq_file *m, struct dentry *root) { int i, cpu; - struct nfs_server *nfss = NFS_SB(mnt->mnt_sb); + struct nfs_server *nfss = NFS_SB(root->d_sb); struct rpc_auth *auth = nfss->client->cl_auth; struct nfs_iostats totals = { }; @@ -798,10 +798,10 @@ static int nfs_show_stats(struct seq_file *m, struct vfsmount *mnt) * Display all mount option settings */ seq_printf(m, "\n\topts:\t"); - seq_puts(m, mnt->mnt_sb->s_flags & MS_RDONLY ? "ro" : "rw"); - seq_puts(m, mnt->mnt_sb->s_flags & MS_SYNCHRONOUS ? ",sync" : ""); - seq_puts(m, mnt->mnt_sb->s_flags & MS_NOATIME ? ",noatime" : ""); - seq_puts(m, mnt->mnt_sb->s_flags & MS_NODIRATIME ? ",nodiratime" : ""); + seq_puts(m, root->d_sb->s_flags & MS_RDONLY ? "ro" : "rw"); + seq_puts(m, root->d_sb->s_flags & MS_SYNCHRONOUS ? ",sync" : ""); + seq_puts(m, root->d_sb->s_flags & MS_NOATIME ? ",noatime" : ""); + seq_puts(m, root->d_sb->s_flags & MS_NODIRATIME ? ",nodiratime" : ""); nfs_show_mount_options(m, nfss, 1); seq_printf(m, "\n\tage:\t%lu", (jiffies - nfss->mount_time) / HZ); diff --git a/fs/proc_namespace.c b/fs/proc_namespace.c index 9dcd9543ca12..61a09a6364ba 100644 --- a/fs/proc_namespace.c +++ b/fs/proc_namespace.c @@ -183,12 +183,13 @@ static int show_vfsstat(struct seq_file *m, struct vfsmount *mnt) { struct mount *r = real_mount(mnt); struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; + struct super_block *sb = mnt_path.dentry->d_sb; int err = 0; /* device */ - if (mnt->mnt_sb->s_op->show_devname) { + if (sb->s_op->show_devname) { seq_puts(m, "device "); - err = mnt->mnt_sb->s_op->show_devname(m, mnt); + err = sb->s_op->show_devname(m, mnt); } else { if (r->mnt_devname) { seq_puts(m, "device "); @@ -204,13 +205,13 @@ static int show_vfsstat(struct seq_file *m, struct vfsmount *mnt) /* file system type */ seq_puts(m, "with fstype "); - show_type(m, mnt->mnt_sb); + show_type(m, sb); /* optional statistics */ - if (mnt->mnt_sb->s_op->show_stats) { + if (sb->s_op->show_stats) { seq_putc(m, ' '); if (!err) - err = mnt->mnt_sb->s_op->show_stats(m, mnt); + err = sb->s_op->show_stats(m, mnt_path.dentry); } seq_putc(m, '\n'); diff --git a/include/linux/fs.h b/include/linux/fs.h index 659be7d82617..b2e4b6f639e4 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1675,7 +1675,7 @@ struct super_operations { int (*show_options)(struct seq_file *, struct vfsmount *); int (*show_devname)(struct seq_file *, struct vfsmount *); int (*show_path)(struct seq_file *, struct vfsmount *); - int (*show_stats)(struct seq_file *, struct vfsmount *); + int (*show_stats)(struct seq_file *, struct dentry *); #ifdef CONFIG_QUOTA ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t); |