• Trond Myklebust's avatar
    NFSv4.1: Fix the r/wsize checking · 3a1c13e1
    Trond Myklebust authored
    commit 943cff67 upstream.
    
    The intention of nfs4_session_set_rwsize() was to cap the r/wsize to the
    buffer sizes negotiated by the CREATE_SESSION. The initial code had a
    bug whereby we would not check the values negotiated by nfs_probe_fsinfo()
    (the assumption being that CREATE_SESSION will always negotiate buffer values
    that are sane w.r.t. the server's preferred r/wsizes) but would only check
    values set by the user in the 'mount' command.
    
    The code was changed in 4.11 to _always_ set the r/wsize, meaning that we
    now never use the server preferred r/wsizes. This is the regression that
    this patch fixes.
    Also rename the function to nfs4_session_limit_rwsize() in order to avoid
    future confusion.
    
    Fixes: 03385332 (NFSv4.1 respect server's max size in CREATE_SESSION")
    Cc: stable@vger.kernel.org # v4.11+
    Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    3a1c13e1
nfs4client.c 32.3 KB