cifs: fix rsize/wsize to be negotiated values
Also make sure these are displayed in /proc/mounts Signed-off-by: Steve French <stfrench@microsoft.com> Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
This commit is contained in:
parent
09a8361e3b
commit
0c2b5f7ce5
@ -621,11 +621,8 @@ cifs_show_options(struct seq_file *s, struct dentry *root)
|
||||
from_kgid_munged(&init_user_ns,
|
||||
cifs_sb->ctx->backupgid));
|
||||
|
||||
if (cifs_sb->ctx->got_rsize)
|
||||
seq_printf(s, ",rsize=%u", cifs_sb->ctx->rsize);
|
||||
if (cifs_sb->ctx->got_wsize)
|
||||
seq_printf(s, ",wsize=%u", cifs_sb->ctx->wsize);
|
||||
if (cifs_sb->ctx->got_bsize)
|
||||
seq_printf(s, ",bsize=%u", cifs_sb->ctx->bsize);
|
||||
if (tcon->ses->server->min_offload)
|
||||
seq_printf(s, ",esize=%u", tcon->ses->server->min_offload);
|
||||
|
@ -2859,10 +2859,14 @@ static int mount_get_conns(struct smb3_fs_context *ctx, struct cifs_sb_info *cif
|
||||
|
||||
/*
|
||||
* Clamp the rsize/wsize mount arguments if they are too big for the server
|
||||
* and set the rsize/wsize to the negotiated values if not passed in by
|
||||
* the user on mount
|
||||
*/
|
||||
if (cifs_sb->ctx->wsize > server->ops->negotiate_wsize(tcon, ctx))
|
||||
if ((cifs_sb->ctx->wsize == 0) ||
|
||||
(cifs_sb->ctx->wsize > server->ops->negotiate_wsize(tcon, ctx)))
|
||||
cifs_sb->ctx->wsize = server->ops->negotiate_wsize(tcon, ctx);
|
||||
if (cifs_sb->ctx->rsize > server->ops->negotiate_rsize(tcon, ctx))
|
||||
if ((cifs_sb->ctx->rsize == 0) ||
|
||||
(cifs_sb->ctx->rsize > server->ops->negotiate_rsize(tcon, ctx)))
|
||||
cifs_sb->ctx->rsize = server->ops->negotiate_rsize(tcon, ctx);
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user