vfs: switch ->show_options() to struct dentry *
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 9 Dec 2011 02:32:45 +0000 (21:32 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 7 Jan 2012 04:19:54 +0000 (23:19 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
39 files changed:
Documentation/filesystems/Locking
Documentation/filesystems/vfs.txt
arch/s390/hypfs/inode.c
drivers/staging/pohmelfs/inode.c
drivers/usb/core/inode.c
fs/adfs/super.c
fs/autofs4/inode.c
fs/btrfs/super.c
fs/ceph/super.c
fs/cifs/cifsfs.c
fs/devpts/inode.c
fs/ecryptfs/super.c
fs/ext2/super.c
fs/ext3/super.c
fs/ext4/super.c
fs/fat/inode.c
fs/fuse/inode.c
fs/gfs2/super.c
fs/hfs/super.c
fs/hfsplus/hfsplus_fs.h
fs/hfsplus/options.c
fs/hostfs/hostfs_kern.c
fs/jffs2/super.c
fs/jfs/super.c
fs/namespace.c
fs/ncpfs/inode.c
fs/nfs/super.c
fs/nilfs2/super.c
fs/ntfs/inode.c
fs/ntfs/inode.h
fs/ocfs2/super.c
fs/proc_namespace.c
fs/ubifs/super.c
fs/udf/super.c
fs/ufs/super.c
fs/xfs/xfs_super.c
include/linux/fs.h
kernel/cgroup.c
mm/shmem.c

index 9e9f30b9f46beb367d1deee47c4fe36a78f5cc98..4fca82e5276e71726f81285ba0ffef867e917618 100644 (file)
@@ -117,7 +117,7 @@ prototypes:
        int (*statfs) (struct dentry *, struct kstatfs *);
        int (*remount_fs) (struct super_block *, int *, char *);
        void (*umount_begin) (struct super_block *);
-       int (*show_options)(struct seq_file *, struct vfsmount *);
+       int (*show_options)(struct seq_file *, struct dentry *);
        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);
        int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t);
index 4b9f0d092a79ea63cd9b44ea3a7b80ba199c589c..3d9393b845b8f71095dd2b55a1bd601ef70c37cd 100644 (file)
@@ -225,7 +225,7 @@ struct super_operations {
         void (*clear_inode) (struct inode *);
         void (*umount_begin) (struct super_block *);
 
-        int (*show_options)(struct seq_file *, struct vfsmount *);
+        int (*show_options)(struct seq_file *, struct dentry *);
 
         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);
index 98efd2d6207a337de5cc6c6494227a3daaa9ba5a..8a2a887478cc770141f7f8138ee0b8cce44dda54 100644 (file)
@@ -259,9 +259,9 @@ static int hypfs_parse_options(char *options, struct super_block *sb)
        return 0;
 }
 
-static int hypfs_show_options(struct seq_file *s, struct vfsmount *mnt)
+static int hypfs_show_options(struct seq_file *s, struct dentry *root)
 {
-       struct hypfs_sb_info *hypfs_info = mnt->mnt_sb->s_fs_info;
+       struct hypfs_sb_info *hypfs_info = root->d_sb->s_fs_info;
 
        seq_printf(s, ",uid=%u", hypfs_info->uid);
        seq_printf(s, ",gid=%u", hypfs_info->gid);
index 91ec29e112bc4d5db87d0a76b6562724e3498405..807e3f3241136ac26770b79e16355c9b3f3f655b 100644 (file)
@@ -1369,9 +1369,9 @@ static int pohmelfs_statfs(struct dentry *dentry, struct kstatfs *buf)
        return 0;
 }
 
-static int pohmelfs_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int pohmelfs_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct pohmelfs_sb *psb = POHMELFS_SB(vfs->mnt_sb);
+       struct pohmelfs_sb *psb = POHMELFS_SB(root->d_sb);
 
        seq_printf(seq, ",idx=%u", psb->idx);
        seq_printf(seq, ",trans_scan_timeout=%u", jiffies_to_msecs(psb->trans_scan_timeout));
index 2b60af2ce3ba6c9c8923c99cbb7073f49796946a..9e186f3da839c8d577438c447f60629153f89eab 100644 (file)
@@ -65,7 +65,7 @@ static umode_t devmode = USBFS_DEFAULT_DEVMODE;
 static umode_t busmode = USBFS_DEFAULT_BUSMODE;
 static umode_t listmode = USBFS_DEFAULT_LISTMODE;
 
-static int usbfs_show_options(struct seq_file *seq, struct vfsmount *mnt)
+static int usbfs_show_options(struct seq_file *seq, struct dentry *root)
 {
        if (devuid != 0)
                seq_printf(seq, ",devuid=%u", devuid);
index c8bf36a1996a3f8559ab947d001feb07fd23350b..8e3b36ace3051becfd0bd39ca1e8145c314d20d0 100644 (file)
@@ -126,9 +126,9 @@ static void adfs_put_super(struct super_block *sb)
        sb->s_fs_info = NULL;
 }
 
-static int adfs_show_options(struct seq_file *seq, struct vfsmount *mnt)
+static int adfs_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct adfs_sb_info *asb = ADFS_SB(mnt->mnt_sb);
+       struct adfs_sb_info *asb = ADFS_SB(root->d_sb);
 
        if (asb->s_uid != 0)
                seq_printf(seq, ",uid=%u", asb->s_uid);
index f799efad52a825b2cd57a66dc5b038dc1311be2d..2ba44c79d5486f7d39b999d0666eda0ddc3425b3 100644 (file)
@@ -70,10 +70,10 @@ out_kill_sb:
        kill_litter_super(sb);
 }
 
-static int autofs4_show_options(struct seq_file *m, struct vfsmount *mnt)
+static int autofs4_show_options(struct seq_file *m, struct dentry *root)
 {
-       struct autofs_sb_info *sbi = autofs4_sbi(mnt->mnt_sb);
-       struct inode *root_inode = mnt->mnt_sb->s_root->d_inode;
+       struct autofs_sb_info *sbi = autofs4_sbi(root->d_sb);
+       struct inode *root_inode = root->d_sb->s_root->d_inode;
 
        if (!sbi)
                return 0;
index dc62d3cc68fd1a7dd436956780f4c3c21e62c969..ae488aa1966a1b32d6a3c4438424eb690740d4c9 100644 (file)
@@ -661,9 +661,9 @@ int btrfs_sync_fs(struct super_block *sb, int wait)
        return ret;
 }
 
-static int btrfs_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int btrfs_show_options(struct seq_file *seq, struct dentry *dentry)
 {
-       struct btrfs_root *root = btrfs_sb(vfs->mnt_sb);
+       struct btrfs_root *root = btrfs_sb(dentry->d_sb);
        struct btrfs_fs_info *info = root->fs_info;
        char *compress_type;
 
index b48f15f101a0ed61127bc920b82afa3d61fcdc0b..11bd0fc4853fbbcbbceb3b2b1cd424a16d17de32 100644 (file)
@@ -341,11 +341,11 @@ out:
 /**
  * ceph_show_options - Show mount options in /proc/mounts
  * @m: seq_file to write to
- * @mnt: mount descriptor
+ * @root: root of that (sub)tree
  */
-static int ceph_show_options(struct seq_file *m, struct vfsmount *mnt)
+static int ceph_show_options(struct seq_file *m, struct dentry *root)
 {
-       struct ceph_fs_client *fsc = ceph_sb_to_client(mnt->mnt_sb);
+       struct ceph_fs_client *fsc = ceph_sb_to_client(root->d_sb);
        struct ceph_mount_options *fsopt = fsc->mount_options;
        struct ceph_options *opt = fsc->client->options;
 
index 0cb89dc6526cca587a3497eec2f76de2146c4bb4..b1fd382d19529c798e1554b3a42ec16b36935554 100644 (file)
@@ -343,9 +343,9 @@ cifs_show_security(struct seq_file *s, struct TCP_Server_Info *server)
  * ones are.
  */
 static int
-cifs_show_options(struct seq_file *s, struct vfsmount *m)
+cifs_show_options(struct seq_file *s, struct dentry *root)
 {
-       struct cifs_sb_info *cifs_sb = CIFS_SB(m->mnt_sb);
+       struct cifs_sb_info *cifs_sb = CIFS_SB(root->d_sb);
        struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb);
        struct sockaddr *srcaddr;
        srcaddr = (struct sockaddr *)&tcon->ses->server->srcaddr;
@@ -430,7 +430,7 @@ cifs_show_options(struct seq_file *s, struct vfsmount *m)
                seq_printf(s, ",cifsacl");
        if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DYNPERM)
                seq_printf(s, ",dynperm");
-       if (m->mnt_sb->s_flags & MS_POSIXACL)
+       if (root->d_sb->s_flags & MS_POSIXACL)
                seq_printf(s, ",acl");
        if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MF_SYMLINKS)
                seq_printf(s, ",mfsymlinks");
index d5d5297efe97bd4115b2d3e8f37575e6ae054f56..79673eb7115187d9b5c2c79b6e1987d1127b55b4 100644 (file)
@@ -246,9 +246,9 @@ static int devpts_remount(struct super_block *sb, int *flags, char *data)
        return err;
 }
 
-static int devpts_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int devpts_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct pts_fs_info *fsi = DEVPTS_SB(vfs->mnt_sb);
+       struct pts_fs_info *fsi = DEVPTS_SB(root->d_sb);
        struct pts_mount_opts *opts = &fsi->mount_opts;
 
        if (opts->setuid)
index da485f0b4d1eb3d4af2e54e688ae7f401df48887..9df7fd6e0c398d91a42c5c5627ea1e88ec868412 100644 (file)
@@ -131,9 +131,9 @@ static void ecryptfs_evict_inode(struct inode *inode)
  * Prints the mount options for a given superblock.
  * Returns zero; does not fail.
  */
-static int ecryptfs_show_options(struct seq_file *m, struct vfsmount *mnt)
+static int ecryptfs_show_options(struct seq_file *m, struct dentry *root)
 {
-       struct super_block *sb = mnt->mnt_sb;
+       struct super_block *sb = root->d_sb;
        struct ecryptfs_mount_crypt_stat *mount_crypt_stat =
                &ecryptfs_superblock_to_private(sb)->mount_crypt_stat;
        struct ecryptfs_global_auth_tok *walker;
index 67b5e752ec9d95bcff479685f394fbc09adfdb17..9b403f064ce09304c56ed2b6d767ac7eb37798e1 100644 (file)
@@ -210,9 +210,9 @@ static void destroy_inodecache(void)
        kmem_cache_destroy(ext2_inode_cachep);
 }
 
-static int ext2_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int ext2_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct super_block *sb = vfs->mnt_sb;
+       struct super_block *sb = root->d_sb;
        struct ext2_sb_info *sbi = EXT2_SB(sb);
        struct ext2_super_block *es = sbi->s_es;
        unsigned long def_mount_opts;
index 7e8944ee67c65ca035f16968fee2cdbb5e8039cc..3a10b884e1bebe881b53e79d8643a53c6e2efca9 100644 (file)
@@ -610,9 +610,9 @@ static char *data_mode_string(unsigned long mode)
  *  - it's set to a non-default value OR
  *  - if the per-sb default is different from the global default
  */
-static int ext3_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int ext3_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct super_block *sb = vfs->mnt_sb;
+       struct super_block *sb = root->d_sb;
        struct ext3_sb_info *sbi = EXT3_SB(sb);
        struct ext3_super_block *es = sbi->s_es;
        unsigned long def_mount_opts;
index b739b210a6161446437398ce7d38fd5d1018cddf..6733b3736b3b7a7df7bcbd1c18a7871ca71b19f2 100644 (file)
@@ -1032,11 +1032,11 @@ static inline void ext4_show_quota_options(struct seq_file *seq,
  *  - it's set to a non-default value OR
  *  - if the per-sb default is different from the global default
  */
-static int ext4_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int ext4_show_options(struct seq_file *seq, struct dentry *root)
 {
        int def_errors;
        unsigned long def_mount_opts;
-       struct super_block *sb = vfs->mnt_sb;
+       struct super_block *sb = root->d_sb;
        struct ext4_sb_info *sbi = EXT4_SB(sb);
        struct ext4_super_block *es = sbi->s_es;
 
index ef44e5f98ced04aee1528973e702007046fa19dd..7873797cc76aae06e23f0ad04aa800275e1050bb 100644 (file)
@@ -671,7 +671,7 @@ int fat_sync_inode(struct inode *inode)
 
 EXPORT_SYMBOL_GPL(fat_sync_inode);
 
-static int fat_show_options(struct seq_file *m, struct vfsmount *mnt);
+static int fat_show_options(struct seq_file *m, struct dentry *root);
 static const struct super_operations fat_sops = {
        .alloc_inode    = fat_alloc_inode,
        .destroy_inode  = fat_destroy_inode,
@@ -810,9 +810,9 @@ static const struct export_operations fat_export_ops = {
        .get_parent     = fat_get_parent,
 };
 
-static int fat_show_options(struct seq_file *m, struct vfsmount *mnt)
+static int fat_show_options(struct seq_file *m, struct dentry *root)
 {
-       struct msdos_sb_info *sbi = MSDOS_SB(mnt->mnt_sb);
+       struct msdos_sb_info *sbi = MSDOS_SB(root->d_sb);
        struct fat_mount_options *opts = &sbi->options;
        int isvfat = opts->isvfat;
 
index 3d3622a1ceac59805bf546f3e3016cc82420f14d..64cf8d07393e4e55d2101039525fbaa0a1008e35 100644 (file)
@@ -497,9 +497,10 @@ static int parse_fuse_opt(char *opt, struct fuse_mount_data *d, int is_bdev)
        return 1;
 }
 
-static int fuse_show_options(struct seq_file *m, struct vfsmount *mnt)
+static int fuse_show_options(struct seq_file *m, struct dentry *root)
 {
-       struct fuse_conn *fc = get_fuse_conn_super(mnt->mnt_sb);
+       struct super_block *sb = root->d_sb;
+       struct fuse_conn *fc = get_fuse_conn_super(sb);
 
        seq_printf(m, ",user_id=%u", fc->user_id);
        seq_printf(m, ",group_id=%u", fc->group_id);
@@ -509,9 +510,8 @@ static int fuse_show_options(struct seq_file *m, struct vfsmount *mnt)
                seq_puts(m, ",allow_other");
        if (fc->max_read != ~0)
                seq_printf(m, ",max_read=%u", fc->max_read);
-       if (mnt->mnt_sb->s_bdev &&
-           mnt->mnt_sb->s_blocksize != FUSE_DEFAULT_BLKSIZE)
-               seq_printf(m, ",blksize=%lu", mnt->mnt_sb->s_blocksize);
+       if (sb->s_bdev && sb->s_blocksize != FUSE_DEFAULT_BLKSIZE)
+               seq_printf(m, ",blksize=%lu", sb->s_blocksize);
        return 0;
 }
 
index 9e89d94be003c6789c074827ca4d50aa3c23836d..10c7733a899b3f3b81344db37813b942bdc9e676 100644 (file)
@@ -1284,18 +1284,18 @@ static int is_ancestor(const struct dentry *d1, const struct dentry *d2)
 /**
  * gfs2_show_options - Show mount options for /proc/mounts
  * @s: seq_file structure
- * @mnt: vfsmount
+ * @root: root of this (sub)tree
  *
  * Returns: 0 on success or error code
  */
 
-static int gfs2_show_options(struct seq_file *s, struct vfsmount *mnt)
+static int gfs2_show_options(struct seq_file *s, struct dentry *root)
 {
-       struct gfs2_sbd *sdp = mnt->mnt_sb->s_fs_info;
+       struct gfs2_sbd *sdp = root->d_sb->s_fs_info;
        struct gfs2_args *args = &sdp->sd_args;
        int val;
 
-       if (is_ancestor(mnt->mnt_root, sdp->sd_master_dir))
+       if (is_ancestor(root, sdp->sd_master_dir))
                seq_printf(s, ",meta");
        if (args->ar_lockproto[0])
                seq_printf(s, ",lockproto=%s", args->ar_lockproto);
index 32dc2fbb26d5e6830233290ca2f9ea27c8396fdf..8137fb3e6780343c6a7a36086547cdfba0936c0e 100644 (file)
@@ -133,9 +133,9 @@ static int hfs_remount(struct super_block *sb, int *flags, char *data)
        return 0;
 }
 
-static int hfs_show_options(struct seq_file *seq, struct vfsmount *mnt)
+static int hfs_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct hfs_sb_info *sbi = HFS_SB(mnt->mnt_sb);
+       struct hfs_sb_info *sbi = HFS_SB(root->d_sb);
 
        if (sbi->s_creator != cpu_to_be32(0x3f3f3f3f))
                seq_printf(seq, ",creator=%.4s", (char *)&sbi->s_creator);
index 3a6c025414e21bd0ddc39a2c24c631dd461316b2..21a5b7fc6db42310576ee3cb00bbff46f6d5a534 100644 (file)
@@ -419,7 +419,7 @@ ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size);
 int hfsplus_parse_options(char *, struct hfsplus_sb_info *);
 int hfsplus_parse_options_remount(char *input, int *force);
 void hfsplus_fill_defaults(struct hfsplus_sb_info *);
-int hfsplus_show_options(struct seq_file *, struct vfsmount *);
+int hfsplus_show_options(struct seq_file *, struct dentry *);
 
 /* super.c */
 struct inode *hfsplus_iget(struct super_block *, unsigned long);
index bb62a5882147e7c800f21b6173126a6dfa51e1f3..06fa5618600c86c18b033b27a89bea1a91fbeaaf 100644 (file)
@@ -206,9 +206,9 @@ done:
        return 1;
 }
 
-int hfsplus_show_options(struct seq_file *seq, struct vfsmount *mnt)
+int hfsplus_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct hfsplus_sb_info *sbi = HFSPLUS_SB(mnt->mnt_sb);
+       struct hfsplus_sb_info *sbi = HFSPLUS_SB(root->d_sb);
 
        if (sbi->creator != HFSPLUS_DEF_CR_TYPE)
                seq_printf(seq, ",creator=%.4s", (char *)&sbi->creator);
index a7340e710a90558a9c4be3e762665392c3630ce3..e130bd46d671515762152d071194ce9e9a3bb4a6 100644 (file)
@@ -258,9 +258,9 @@ static void hostfs_destroy_inode(struct inode *inode)
        call_rcu(&inode->i_rcu, hostfs_i_callback);
 }
 
-static int hostfs_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int hostfs_show_options(struct seq_file *seq, struct dentry *root)
 {
-       const char *root_path = vfs->mnt_sb->s_fs_info;
+       const char *root_path = root->d_sb->s_fs_info;
        size_t offset = strlen(root_ino) + 1;
 
        if (strlen(root_path) > offset)
index 804e1292d63e8dd5b46c9f67a6114e76af523d0b..8be4925296cf981aed60190b96eca8fd0bf6e467 100644 (file)
@@ -96,9 +96,9 @@ static const char *jffs2_compr_name(unsigned int compr)
        }
 }
 
-static int jffs2_show_options(struct seq_file *s, struct vfsmount *mnt)
+static int jffs2_show_options(struct seq_file *s, struct dentry *root)
 {
-       struct jffs2_sb_info *c = JFFS2_SB_INFO(mnt->mnt_sb);
+       struct jffs2_sb_info *c = JFFS2_SB_INFO(root->d_sb);
        struct jffs2_mount_opts *opts = &c->mount_opts;
 
        if (opts->override_compr)
index 1b8f4ca29adfc13952141ae8510447f8e56418ca..682bca642f3879799b09719f0ad1f7b319c72fe1 100644 (file)
@@ -608,9 +608,9 @@ static int jfs_sync_fs(struct super_block *sb, int wait)
        return 0;
 }
 
-static int jfs_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int jfs_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct jfs_sb_info *sbi = JFS_SBI(vfs->mnt_sb);
+       struct jfs_sb_info *sbi = JFS_SBI(root->d_sb);
 
        if (sbi->uid != -1)
                seq_printf(seq, ",uid=%d", sbi->uid);
index 773435ca300de1b10c3fea4881429a293faae42b..db65e2e4921f22833eedb38934c1ee4f07e09c7a 100644 (file)
@@ -836,12 +836,12 @@ static inline void mangle(struct seq_file *m, const char *s)
  *
  * See also save_mount_options().
  */
-int generic_show_options(struct seq_file *m, struct vfsmount *mnt)
+int generic_show_options(struct seq_file *m, struct dentry *root)
 {
        const char *options;
 
        rcu_read_lock();
-       options = rcu_dereference(mnt->mnt_sb->s_options);
+       options = rcu_dereference(root->d_sb->s_options);
 
        if (options != NULL && options[0]) {
                seq_putc(m, ',');
index f3f07cd392b3cf3416be10be5efb462c3d3fd7f4..3d1e34f8a68e2b70a0cce3bc32321bf3ff3a1241 100644 (file)
@@ -44,7 +44,7 @@
 static void ncp_evict_inode(struct inode *);
 static void ncp_put_super(struct super_block *);
 static int  ncp_statfs(struct dentry *, struct kstatfs *);
-static int  ncp_show_options(struct seq_file *, struct vfsmount *);
+static int  ncp_show_options(struct seq_file *, struct dentry *);
 
 static struct kmem_cache * ncp_inode_cachep;
 
@@ -322,9 +322,9 @@ static void ncp_stop_tasks(struct ncp_server *server) {
                flush_work_sync(&server->timeout_tq);
 }
 
-static int  ncp_show_options(struct seq_file *seq, struct vfsmount *mnt)
+static int  ncp_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct ncp_server *server = NCP_SBP(mnt->mnt_sb);
+       struct ncp_server *server = NCP_SBP(root->d_sb);
        unsigned int tmp;
 
        if (server->m.uid != 0)
index 02c693c77ab7807a4c6501a89bace282d7771589..e463967aafb8cf1d48be42e8c7b191cba607fbeb 100644 (file)
@@ -262,7 +262,7 @@ static match_table_t nfs_local_lock_tokens = {
 
 static void nfs_umount_begin(struct super_block *);
 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 dentry *);
 static int  nfs_show_devname(struct seq_file *, struct dentry *);
 static int  nfs_show_path(struct seq_file *, struct dentry *);
 static int  nfs_show_stats(struct seq_file *, struct dentry *);
@@ -720,9 +720,9 @@ static void nfs_show_mount_options(struct seq_file *m, struct nfs_server *nfss,
 /*
  * Describe the mount options on this VFS mountpoint
  */
-static int nfs_show_options(struct seq_file *m, struct vfsmount *mnt)
+static int nfs_show_options(struct seq_file *m, struct dentry *root)
 {
-       struct nfs_server *nfss = NFS_SB(mnt->mnt_sb);
+       struct nfs_server *nfss = NFS_SB(root->d_sb);
 
        nfs_show_mount_options(m, nfss, 0);
 
index 5356c7169d50b820c408f0d49754b72e896b651c..08e3d4f9df18ebf8799b2e76e69e9ba8b1dbc988 100644 (file)
@@ -648,11 +648,11 @@ static int nilfs_statfs(struct dentry *dentry, struct kstatfs *buf)
        return 0;
 }
 
-static int nilfs_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int nilfs_show_options(struct seq_file *seq, struct dentry *dentry)
 {
-       struct super_block *sb = vfs->mnt_sb;
+       struct super_block *sb = dentry->d_sb;
        struct the_nilfs *nilfs = sb->s_fs_info;
-       struct nilfs_root *root = NILFS_I(vfs->mnt_root->d_inode)->i_root;
+       struct nilfs_root *root = NILFS_I(dentry->d_inode)->i_root;
 
        if (!nilfs_test_opt(nilfs, BARRIER))
                seq_puts(seq, ",nobarrier");
index fea40bb6fb686ea860f192c4405b0cb1cd9ddfe1..2eaa66652944f52be4641435569db8efccdc5304 100644 (file)
@@ -2300,16 +2300,16 @@ void ntfs_evict_big_inode(struct inode *vi)
 /**
  * ntfs_show_options - show mount options in /proc/mounts
  * @sf:                seq_file in which to write our mount options
- * @mnt:       vfs mount whose mount options to display
+ * @root:      root of the mounted tree whose mount options to display
  *
  * Called by the VFS once for each mounted ntfs volume when someone reads
  * /proc/mounts in order to display the NTFS specific mount options of each
- * mount. The mount options of the vfs mount @mnt are written to the seq file
+ * mount. The mount options of fs specified by @root are written to the seq file
  * @sf and success is returned.
  */
-int ntfs_show_options(struct seq_file *sf, struct vfsmount *mnt)
+int ntfs_show_options(struct seq_file *sf, struct dentry *root)
 {
-       ntfs_volume *vol = NTFS_SB(mnt->mnt_sb);
+       ntfs_volume *vol = NTFS_SB(root->d_sb);
        int i;
 
        seq_printf(sf, ",uid=%i", vol->uid);
index fe8e7e9288896ca4fa6f0cfa9d4f8a4c8f1639be..db29695f845ce6d448aa44308c487342a4356142 100644 (file)
@@ -298,7 +298,7 @@ extern void ntfs_clear_extent_inode(ntfs_inode *ni);
 
 extern int ntfs_read_inode_mount(struct inode *vi);
 
-extern int ntfs_show_options(struct seq_file *sf, struct vfsmount *mnt);
+extern int ntfs_show_options(struct seq_file *sf, struct dentry *root);
 
 #ifdef NTFS_RW
 
index c05ff25c356c02be8c7ed733e4bf8b5e4bbbed56..604e12c4e97946a1d6a65bde559402372508c6f9 100644 (file)
@@ -108,7 +108,7 @@ static int ocfs2_parse_options(struct super_block *sb, char *options,
                               int is_remount);
 static int ocfs2_check_set_options(struct super_block *sb,
                                   struct mount_options *options);
-static int ocfs2_show_options(struct seq_file *s, struct vfsmount *mnt);
+static int ocfs2_show_options(struct seq_file *s, struct dentry *root);
 static void ocfs2_put_super(struct super_block *sb);
 static int ocfs2_mount_volume(struct super_block *sb);
 static int ocfs2_remount(struct super_block *sb, int *flags, char *data);
@@ -1533,9 +1533,9 @@ bail:
        return status;
 }
 
-static int ocfs2_show_options(struct seq_file *s, struct vfsmount *mnt)
+static int ocfs2_show_options(struct seq_file *s, struct dentry *root)
 {
-       struct ocfs2_super *osb = OCFS2_SB(mnt->mnt_sb);
+       struct ocfs2_super *osb = OCFS2_SB(root->d_sb);
        unsigned long opts = osb->s_mount_opt;
        unsigned int local_alloc_megs;
 
@@ -1567,8 +1567,7 @@ static int ocfs2_show_options(struct seq_file *s, struct vfsmount *mnt)
        if (osb->preferred_slot != OCFS2_INVALID_SLOT)
                seq_printf(s, ",preferred_slot=%d", osb->preferred_slot);
 
-       if (!(mnt->mnt_flags & MNT_NOATIME) && !(mnt->mnt_flags & MNT_RELATIME))
-               seq_printf(s, ",atime_quantum=%u", osb->s_atime_quantum);
+       seq_printf(s, ",atime_quantum=%u", osb->s_atime_quantum);
 
        if (osb->osb_commit_interval)
                seq_printf(s, ",commit=%u",
index 8f8304b3f98aca86d42aded52027668e3c95ef65..12412852d88a94d574bacebb5e64200f202db852 100644 (file)
@@ -113,7 +113,7 @@ static int show_vfsmnt(struct seq_file *m, struct vfsmount *mnt)
                goto out;
        show_mnt_opts(m, mnt);
        if (sb->s_op->show_options)
-               err = sb->s_op->show_options(m, mnt);
+               err = sb->s_op->show_options(m, mnt_path.dentry);
        seq_puts(m, " 0 0\n");
 out:
        return err;
@@ -174,7 +174,7 @@ static int show_mountinfo(struct seq_file *m, struct vfsmount *mnt)
        if (err)
                goto out;
        if (sb->s_op->show_options)
-               err = sb->s_op->show_options(m, mnt);
+               err = sb->s_op->show_options(m, mnt->mnt_root);
        seq_putc(m, '\n');
 out:
        return err;
index d93a3fadf53cbbae95b479c63891a9012db8926e..63765d58445b61e7b871e7e1722fedd1668a23b9 100644 (file)
@@ -419,9 +419,9 @@ static int ubifs_statfs(struct dentry *dentry, struct kstatfs *buf)
        return 0;
 }
 
-static int ubifs_show_options(struct seq_file *s, struct vfsmount *mnt)
+static int ubifs_show_options(struct seq_file *s, struct dentry *root)
 {
-       struct ubifs_info *c = mnt->mnt_sb->s_fs_info;
+       struct ubifs_info *c = root->d_sb->s_fs_info;
 
        if (c->mount_opts.unmount_mode == 2)
                seq_printf(s, ",fast_unmount");
index c94fc889a48665b19e60389153383c265e4ea1b3..0c33225647a010ffcf77e5b0056063b5c98ddb5c 100644 (file)
@@ -89,7 +89,7 @@ static void udf_open_lvid(struct super_block *);
 static void udf_close_lvid(struct super_block *);
 static unsigned int udf_count_free(struct super_block *);
 static int udf_statfs(struct dentry *, struct kstatfs *);
-static int udf_show_options(struct seq_file *, struct vfsmount *);
+static int udf_show_options(struct seq_file *, struct dentry *);
 
 struct logicalVolIntegrityDescImpUse *udf_sb_lvidiu(struct udf_sb_info *sbi)
 {
@@ -249,9 +249,9 @@ static int udf_sb_alloc_partition_maps(struct super_block *sb, u32 count)
        return 0;
 }
 
-static int udf_show_options(struct seq_file *seq, struct vfsmount *mnt)
+static int udf_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct super_block *sb = mnt->mnt_sb;
+       struct super_block *sb = root->d_sb;
        struct udf_sb_info *sbi = UDF_SB(sb);
 
        if (!UDF_QUERY_FLAG(sb, UDF_FLAG_STRICT))
index d6961eb5b774ed9916ca9a67b7b8ce1c150de022..5246ee3e56078b358609bc7115fca093543ea946 100644 (file)
@@ -1351,9 +1351,9 @@ static int ufs_remount (struct super_block *sb, int *mount_flags, char *data)
        return 0;
 }
 
-static int ufs_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int ufs_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct ufs_sb_info *sbi = UFS_SB(vfs->mnt_sb);
+       struct ufs_sb_info *sbi = UFS_SB(root->d_sb);
        unsigned mval = sbi->s_mount_opt & UFS_MOUNT_UFSTYPE;
        const struct match_token *tp = tokens;
 
index 8a899496fd5fe55ef50f4cfdcfcce20e7875a60c..7b7669507ee38f5e64db218bad4769635286325e 100644 (file)
@@ -1238,9 +1238,9 @@ xfs_fs_unfreeze(
 STATIC int
 xfs_fs_show_options(
        struct seq_file         *m,
-       struct vfsmount         *mnt)
+       struct dentry           *root)
 {
-       return -xfs_showargs(XFS_M(mnt->mnt_sb), m);
+       return -xfs_showargs(XFS_M(root->d_sb), m);
 }
 
 /*
index 13721b07340752f923f22a52db06e855c2cb157a..cc1021fd19efafbb3099ac91e60937b96138a4eb 100644 (file)
@@ -1672,7 +1672,7 @@ struct super_operations {
        int (*remount_fs) (struct super_block *, int *, char *);
        void (*umount_begin) (struct super_block *);
 
-       int (*show_options)(struct seq_file *, struct vfsmount *);
+       int (*show_options)(struct seq_file *, struct dentry *);
        int (*show_devname)(struct seq_file *, struct dentry *);
        int (*show_path)(struct seq_file *, struct dentry *);
        int (*show_stats)(struct seq_file *, struct dentry *);
@@ -2592,7 +2592,7 @@ extern void setattr_copy(struct inode *inode, const struct iattr *attr);
 
 extern void file_update_time(struct file *file);
 
-extern int generic_show_options(struct seq_file *m, struct vfsmount *mnt);
+extern int generic_show_options(struct seq_file *m, struct dentry *root);
 extern void save_mount_options(struct super_block *sb, char *options);
 extern void replace_mount_options(struct super_block *sb, char *options);
 
index 86ebacfd9431b9f712dc1312be483c410f29fef0..7cab65f83f1d9753cdb52dc4cf9d6b8e0cfda410 100644 (file)
@@ -1038,9 +1038,9 @@ static int rebind_subsystems(struct cgroupfs_root *root,
        return 0;
 }
 
-static int cgroup_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int cgroup_show_options(struct seq_file *seq, struct dentry *dentry)
 {
-       struct cgroupfs_root *root = vfs->mnt_sb->s_fs_info;
+       struct cgroupfs_root *root = dentry->d_sb->s_fs_info;
        struct cgroup_subsys *ss;
 
        mutex_lock(&cgroup_mutex);
index 86a19efc36fb12ad9a67ed9a9a40fc58769baa5e..feead1943d927f6c2660791bab30a370c3f8027c 100644 (file)
@@ -2118,9 +2118,9 @@ out:
        return error;
 }
 
-static int shmem_show_options(struct seq_file *seq, struct vfsmount *vfs)
+static int shmem_show_options(struct seq_file *seq, struct dentry *root)
 {
-       struct shmem_sb_info *sbinfo = SHMEM_SB(vfs->mnt_sb);
+       struct shmem_sb_info *sbinfo = SHMEM_SB(root->d_sb);
 
        if (sbinfo->max_blocks != shmem_default_max_blocks())
                seq_printf(seq, ",size=%luk",