• Jeff Layton's avatar
    cifs: clean up wsize negotiation and allow for larger wsize · f7910cbd
    Jeff Layton authored
    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: default avatarJeff Layton <jlayton@redhat.com>
    Reviewed-and-Tested-by: default avatarPavel Shilovsky <piastry@etersoft.ru>
    Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
    f7910cbd
connect.c 103 KB