Skip to content

Commit

Permalink
vfs: switch ->show_options() to struct dentry *
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <[email protected]>
  • Loading branch information
Al Viro committed Jan 7, 2012
1 parent a6322de commit 34c80b1
Show file tree
Hide file tree
Showing 39 changed files with 90 additions and 91 deletions.
2 changes: 1 addition & 1 deletion Documentation/filesystems/Locking
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion Documentation/filesystems/vfs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions arch/s390/hypfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions drivers/staging/pohmelfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down
2 changes: 1 addition & 1 deletion drivers/usb/core/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions fs/adfs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
6 changes: 3 additions & 3 deletions fs/autofs4/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@ void autofs4_kill_sb(struct super_block *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;
Expand Down
4 changes: 2 additions & 2 deletions fs/btrfs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
6 changes: 3 additions & 3 deletions fs/ceph/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -341,11 +341,11 @@ static int parse_mount_options(struct ceph_mount_options **pfsopt,
/**
* 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;

Expand Down
6 changes: 3 additions & 3 deletions fs/cifs/cifsfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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");
Expand Down
4 changes: 2 additions & 2 deletions fs/devpts/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions fs/ecryptfs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions fs/ext2/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions fs/ext3/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions fs/ext4/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
6 changes: 3 additions & 3 deletions fs/fat/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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;

Expand Down
10 changes: 5 additions & 5 deletions fs/fuse/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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;
}

Expand Down
8 changes: 4 additions & 4 deletions fs/gfs2/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions fs/hfs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion fs/hfsplus/hfsplus_fs.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions fs/hfsplus/options.c
Original file line number Diff line number Diff line change
Expand Up @@ -206,9 +206,9 @@ int hfsplus_parse_options(char *input, struct hfsplus_sb_info *sbi)
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);
Expand Down
4 changes: 2 additions & 2 deletions fs/hostfs/hostfs_kern.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions fs/jffs2/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions fs/jfs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions fs/namespace.c
Original file line number Diff line number Diff line change
Expand Up @@ -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, ',');
Expand Down
6 changes: 3 additions & 3 deletions fs/ncpfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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)
Expand Down
6 changes: 3 additions & 3 deletions fs/nfs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 *);
Expand Down Expand Up @@ -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);

Expand Down
6 changes: 3 additions & 3 deletions fs/nilfs2/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
Loading

0 comments on commit 34c80b1

Please sign in to comment.