提交 64132379 编写于 作者: A Al Viro

vfs: switch ->show_stats to struct dentry *

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 cdcf116d
...@@ -1759,11 +1759,11 @@ static int pohmelfs_root_handshake(struct pohmelfs_sb *psb) ...@@ -1759,11 +1759,11 @@ static int pohmelfs_root_handshake(struct pohmelfs_sb *psb)
return err; 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 netfs_state *st;
struct pohmelfs_ctl *ctl; 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; struct pohmelfs_config *c;
mutex_lock(&psb->state_lock); mutex_lock(&psb->state_lock);
......
...@@ -488,7 +488,7 @@ static void cifs_umount_begin(struct super_block *sb) ...@@ -488,7 +488,7 @@ static void cifs_umount_begin(struct super_block *sb)
} }
#ifdef CONFIG_CIFS_STATS2 #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 */ /* BB FIXME */
return 0; return 0;
......
...@@ -265,7 +265,7 @@ static int nfs_statfs(struct dentry *, struct kstatfs *); ...@@ -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_options(struct seq_file *, struct vfsmount *);
static int nfs_show_devname(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_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 *, static struct dentry *nfs_fs_mount(struct file_system_type *,
int, const char *, void *); int, const char *, void *);
static struct dentry *nfs_xdev_mount(struct file_system_type *fs_type, 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) ...@@ -785,10 +785,10 @@ static int nfs_show_path(struct seq_file *m, struct vfsmount *mnt)
/* /*
* Present statistical information for this VFS mountpoint * 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; 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 rpc_auth *auth = nfss->client->cl_auth;
struct nfs_iostats totals = { }; struct nfs_iostats totals = { };
...@@ -798,10 +798,10 @@ static int nfs_show_stats(struct seq_file *m, struct vfsmount *mnt) ...@@ -798,10 +798,10 @@ static int nfs_show_stats(struct seq_file *m, struct vfsmount *mnt)
* Display all mount option settings * Display all mount option settings
*/ */
seq_printf(m, "\n\topts:\t"); seq_printf(m, "\n\topts:\t");
seq_puts(m, mnt->mnt_sb->s_flags & MS_RDONLY ? "ro" : "rw"); seq_puts(m, root->d_sb->s_flags & MS_RDONLY ? "ro" : "rw");
seq_puts(m, mnt->mnt_sb->s_flags & MS_SYNCHRONOUS ? ",sync" : ""); seq_puts(m, root->d_sb->s_flags & MS_SYNCHRONOUS ? ",sync" : "");
seq_puts(m, mnt->mnt_sb->s_flags & MS_NOATIME ? ",noatime" : ""); seq_puts(m, root->d_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_NODIRATIME ? ",nodiratime" : "");
nfs_show_mount_options(m, nfss, 1); nfs_show_mount_options(m, nfss, 1);
seq_printf(m, "\n\tage:\t%lu", (jiffies - nfss->mount_time) / HZ); seq_printf(m, "\n\tage:\t%lu", (jiffies - nfss->mount_time) / HZ);
......
...@@ -183,12 +183,13 @@ static int show_vfsstat(struct seq_file *m, struct vfsmount *mnt) ...@@ -183,12 +183,13 @@ static int show_vfsstat(struct seq_file *m, struct vfsmount *mnt)
{ {
struct mount *r = real_mount(mnt); struct mount *r = real_mount(mnt);
struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt };
struct super_block *sb = mnt_path.dentry->d_sb;
int err = 0; int err = 0;
/* device */ /* device */
if (mnt->mnt_sb->s_op->show_devname) { if (sb->s_op->show_devname) {
seq_puts(m, "device "); seq_puts(m, "device ");
err = mnt->mnt_sb->s_op->show_devname(m, mnt); err = sb->s_op->show_devname(m, mnt);
} else { } else {
if (r->mnt_devname) { if (r->mnt_devname) {
seq_puts(m, "device "); seq_puts(m, "device ");
...@@ -204,13 +205,13 @@ static int show_vfsstat(struct seq_file *m, struct vfsmount *mnt) ...@@ -204,13 +205,13 @@ static int show_vfsstat(struct seq_file *m, struct vfsmount *mnt)
/* file system type */ /* file system type */
seq_puts(m, "with fstype "); seq_puts(m, "with fstype ");
show_type(m, mnt->mnt_sb); show_type(m, sb);
/* optional statistics */ /* optional statistics */
if (mnt->mnt_sb->s_op->show_stats) { if (sb->s_op->show_stats) {
seq_putc(m, ' '); seq_putc(m, ' ');
if (!err) 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'); seq_putc(m, '\n');
......
...@@ -1675,7 +1675,7 @@ struct super_operations { ...@@ -1675,7 +1675,7 @@ struct super_operations {
int (*show_options)(struct seq_file *, struct vfsmount *); int (*show_options)(struct seq_file *, struct vfsmount *);
int (*show_devname)(struct seq_file *, struct vfsmount *); int (*show_devname)(struct seq_file *, struct vfsmount *);
int (*show_path)(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 #ifdef CONFIG_QUOTA
ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); 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); ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册