diff options
author | Jeff Layton <jlayton@redhat.com> | 2011-05-19 16:22:58 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2011-05-25 20:12:16 +0000 |
commit | f7910cbd9fa319ee4501074f1f3b5ce23c4b1518 (patch) | |
tree | 940a9f9836771d2b8820dff93010457ed3e0444c /fs/cifs/cifssmb.c | |
parent | c3d17b63e5eafcaf2678c11de801c189468631c8 (diff) | |
download | op-kernel-dev-f7910cbd9fa319ee4501074f1f3b5ce23c4b1518.zip op-kernel-dev-f7910cbd9fa319ee4501074f1f3b5ce23c4b1518.tar.gz |
cifs: clean up wsize negotiation and allow for larger wsize
Now that we can handle larger wsizes in writepages, fix up the
negotiation of the wsize to allow for that. find_get_pages only seems to
give out a max of 256 pages at a time, so that gives us a reasonable
default of 1M for the wsize.
If the server however does not support large writes via POSIX
extensions, then we cap the wsize to (128k - PAGE_CACHE_SIZE). That
gives us a size that goes up to the max frame size specified in RFC1001.
Finally, if CAP_LARGE_WRITE_AND_X isn't set, then further cap it to the
largest size allowed by the protocol (USHRT_MAX).
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Reviewed-and-Tested-by: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifssmb.c')
0 files changed, 0 insertions, 0 deletions