Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17cbbafe authored by Steve French's avatar Steve French
Browse files

[CIFS] Make cifs default wsize match what we actually want to send (52K


typically - header + 13 pages).

Forgetting to set wsize on the mount command costs more than 10% on large
write (can be much more) so this makes a saner default.  We still shrink
this default smaller if server can not support it.

Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 4c8af525
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -1785,7 +1785,15 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
		} else if(volume_info.wsize)
			cifs_sb->wsize = volume_info.wsize;
		else
			cifs_sb->wsize = CIFSMaxBufSize; /* default */
			cifs_sb->wsize = 
				min(PAGEVEC_SIZE * PAGE_CACHE_SIZE, 127*1024);
			/* old default of CIFSMaxBufSize was too small now
			   that SMB Write2 can send multiple pages in kvec.   
			   RFC1001 does not describe what happens when frame
			   bigger than 128K is sent so use that as max in
			   conjunction with 52K kvec constraint on arch with 4K
			   page size  */

		if(cifs_sb->rsize < PAGE_CACHE_SIZE) {
			cifs_sb->rsize = PAGE_CACHE_SIZE; 
			/* Windows ME does this */