diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2019-12-10 13:31:01 +0100 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2020-01-15 16:15:16 +0100 |
commit | ab88dca311a3722a66f7dee3c352e634ad1e6a25 (patch) | |
tree | 88a8467f0799f7603904894e0b6a72f5dac16d7c /fs/nfs/namespace.c | |
parent | nfs: don't pass nfs_subversion to ->create_server() (diff) | |
download | linux-ab88dca311a3722a66f7dee3c352e634ad1e6a25.tar.xz linux-ab88dca311a3722a66f7dee3c352e634ad1e6a25.zip |
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>
Diffstat (limited to 'fs/nfs/namespace.c')
-rw-r--r-- | fs/nfs/namespace.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/namespace.c b/fs/nfs/namespace.c index e5f4f2d760af..30331558bd8e 100644 --- a/fs/nfs/namespace.c +++ b/fs/nfs/namespace.c @@ -232,7 +232,7 @@ struct vfsmount *nfs_do_submount(struct dentry *dentry, struct nfs_fh *fh, .authflavor = authflavor, }; struct nfs_mount_info mount_info = { - .fill_super = nfs_clone_super, + .inherited_bsize = sb->s_blocksize_bits, .set_security = nfs_clone_sb_security, .cloned = &mountdata, .mntfh = fh, |