• Chuck Lever's avatar
    NFS: Revert default r/wsize behavior · dd47f96c
    Chuck Lever authored
    When the "rsize=" or "wsize=" mount options are not specified,
    text-based mounts have slightly different behavior than legacy binary
    mounts.  Text-based mounts use the smaller of the server's maximum
    and the client's maximum, but binary mounts use the smaller of the
    server's _preferred_ size and the client's maximum.
    
    This difference is actually pretty subtle.  Most servers advertise
    the same value as their maximum and their preferred transfer size, so
    the end result is the same in most cases.
    
    The reason for this difference is that for text-based mounts, if
    r/wsize are not specified, they are set to the largest value supported
    by the client.  For legacy mounts, the values are set to zero if these
    options are not specified.
    
    nfs_server_set_fsinfo() can negotiate the transfer size defaults
    correctly in any case.  There's no need to specify any particular
    value as default in the text-based option parsing logic.
    
    Note that nfs4 doesn't use nfs_server_set_fsinfo(), but the mount.nfs4
    command does set rsize and wsize to 0 if the user didn't specify these
    options.  So, make the same change for text-based NFSv4 mounts.
    
    Thanks to James Pearson <james-p@moving-picture.com> for reporting and
    diagnosing the problem.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    dd47f96c
super.c 73.6 KB