nfs: get rid of mount_info ->fill_super()
The only possible values are nfs_fill_super and nfs_clone_super. The latter is used only when crossing into a submount and it is almost identical to the former; the only differences are * ->s_time_gran unconditionally set to 1 (even for v2 mounts). Regression dating back to 2012, actually. * ->s_blocksize/->s_blocksize_bits set to that of parent. Rather than messing with the method, stash ->s_blocksize_bits in mount_info in submount case and after the (now unconditional) call of nfs_fill_super() override ->s_blocksize/->s_blocksize_bits if that has been set. Reviewed-by: David Howells <dhowells@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
@@ -136,7 +136,7 @@ struct nfs_mount_request {
|
||||
};
|
||||
|
||||
struct nfs_mount_info {
|
||||
void (*fill_super)(struct super_block *, struct nfs_mount_info *);
|
||||
unsigned int inherited_bsize;
|
||||
int (*set_security)(struct super_block *, struct dentry *, struct nfs_mount_info *);
|
||||
struct nfs_parsed_mount_data *parsed;
|
||||
struct nfs_clone_mount *cloned;
|
||||
@@ -395,8 +395,6 @@ int nfs_set_sb_security(struct super_block *, struct dentry *, struct nfs_mount_
|
||||
int nfs_clone_sb_security(struct super_block *, struct dentry *, struct nfs_mount_info *);
|
||||
struct dentry *nfs_fs_mount(struct file_system_type *, int, const char *, void *);
|
||||
void nfs_kill_super(struct super_block *);
|
||||
void nfs_fill_super(struct super_block *, struct nfs_mount_info *);
|
||||
void nfs_clone_super(struct super_block *, struct nfs_mount_info *);
|
||||
|
||||
extern struct rpc_stat nfs_rpcstat;
|
||||
|
||||
|
Reference in New Issue
Block a user