• NeilBrown's avatar
    [PATCH] knfsd: tidy up up meaning of 'buffer size' in nfsd/sunrpc · c6b0a9f8
    NeilBrown authored
    There is some confusion about the meaning of 'bufsz' for a sunrpc server.
    In some cases it is the largest message that can be sent or received.  In
    other cases it is the largest 'payload' that can be included in a NFS
    message.
    
    In either case, it is not possible for both the request and the reply to be
    this large.  One of the request or reply may only be one page long, which
    fits nicely with NFS.
    
    So we remove 'bufsz' and replace it with two numbers: 'max_payload' and
    'max_mesg'.  Max_payload is the size that the server requests.  It is used
    by the server to check the max size allowed on a particular connection:
    depending on the protocol a lower limit might be used.
    
    max_mesg is the largest single message that can be sent or received.  It is
    calculated as the max_payload, rounded up to a multiple of PAGE_SIZE, and
    with PAGE_SIZE added to overhead.  Only one of the request and reply may be
    this size.  The other must be at most one page.
    
    Cc: Greg Banks <gnb@sgi.com>
    Cc: "J. Bruce Fields" <bfields@fieldses.org>
    Signed-off-by: default avatarNeil Brown <neilb@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    c6b0a9f8
nfssvc.c 12.9 KB