lkml.org 
[lkml]   [2006]   [Apr]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 25/26] knfsd: Correct reserved reply space for read requests.
    From: NeilBrown <neilb@suse.de>


    NFSd makes sure there is enough space to hold the maximum possible reply
    before accepting a request. The units for this maximum is (4byte) words.
    However in three places, particularly for read request, the number given is
    a number of bytes.

    This means too much space is reserved which is slightly wasteful.

    This is the sort of patch that could uncover a deeper bug, and it is not
    critical, so it would be best for it to spend a while in -mm before going
    in to mainline.

    (akpm: target 2.6.17-rc2, 2.6.16.3 (approx))

    Discovered-by: "Eivind Sarto" <ivan@kasenna.com>
    Signed-off-by: Neil Brown <neilb@suse.de>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    fs/nfsd/nfs3proc.c | 2 +-
    fs/nfsd/nfs4proc.c | 2 +-
    fs/nfsd/nfsproc.c | 2 +-
    3 files changed, 3 insertions(+), 3 deletions(-)

    --- linux-2.6.16.1.orig/fs/nfsd/nfs3proc.c
    +++ linux-2.6.16.1/fs/nfsd/nfs3proc.c
    @@ -682,7 +682,7 @@ static struct svc_procedure nfsd_proced
    PROC(lookup, dirop, dirop, fhandle2, RC_NOCACHE, ST+FH+pAT+pAT),
    PROC(access, access, access, fhandle, RC_NOCACHE, ST+pAT+1),
    PROC(readlink, readlink, readlink, fhandle, RC_NOCACHE, ST+pAT+1+NFS3_MAXPATHLEN/4),
    - PROC(read, read, read, fhandle, RC_NOCACHE, ST+pAT+4+NFSSVC_MAXBLKSIZE),
    + PROC(read, read, read, fhandle, RC_NOCACHE, ST+pAT+4+NFSSVC_MAXBLKSIZE/4),
    PROC(write, write, write, fhandle, RC_REPLBUFF, ST+WC+4),
    PROC(create, create, create, fhandle2, RC_REPLBUFF, ST+(1+FH+pAT)+WC),
    PROC(mkdir, mkdir, create, fhandle2, RC_REPLBUFF, ST+(1+FH+pAT)+WC),
    --- linux-2.6.16.1.orig/fs/nfsd/nfs4proc.c
    +++ linux-2.6.16.1/fs/nfsd/nfs4proc.c
    @@ -975,7 +975,7 @@ struct nfsd4_voidargs { int dummy; };
    */
    static struct svc_procedure nfsd_procedures4[2] = {
    PROC(null, void, void, void, RC_NOCACHE, 1),
    - PROC(compound, compound, compound, compound, RC_NOCACHE, NFSD_BUFSIZE)
    + PROC(compound, compound, compound, compound, RC_NOCACHE, NFSD_BUFSIZE/4)
    };

    struct svc_version nfsd_version4 = {
    --- linux-2.6.16.1.orig/fs/nfsd/nfsproc.c
    +++ linux-2.6.16.1/fs/nfsd/nfsproc.c
    @@ -553,7 +553,7 @@ static struct svc_procedure nfsd_proced
    PROC(none, void, void, none, RC_NOCACHE, ST),
    PROC(lookup, diropargs, diropres, fhandle, RC_NOCACHE, ST+FH+AT),
    PROC(readlink, readlinkargs, readlinkres, none, RC_NOCACHE, ST+1+NFS_MAXPATHLEN/4),
    - PROC(read, readargs, readres, fhandle, RC_NOCACHE, ST+AT+1+NFSSVC_MAXBLKSIZE),
    + PROC(read, readargs, readres, fhandle, RC_NOCACHE, ST+AT+1+NFSSVC_MAXBLKSIZE/4),
    PROC(none, void, void, none, RC_NOCACHE, ST),
    PROC(write, writeargs, attrstat, fhandle, RC_REPLBUFF, ST+AT),
    PROC(create, createargs, diropres, fhandle, RC_REPLBUFF, ST+FH+AT),
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-04-05 02:07    [W:0.021 / U:59.184 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site