lkml.org 
[lkml]   [2002]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectREPOST patch 36/38: SERVER: ensure XDR buffer is large enough for NFSv4

    This patch changes the 'xdrsize' parameter to svc_create(), to be
    NFS4_SVC_XDRSIZE if v4 is defined
    else NFS3_SVC_XDRSIZE if v3 is defined
    else NFS2_SVC_XDRSIZE (formerly NFSSVC_XDRSIZE)

    This always works, since
    NFS4_SVC_XDRSIZE >= NFS3_SVC_XDRSIZE >= NFS2_SVC_XDRSIZE.

    The value of NFSD_BUFSIZE has also been moved to const.h, since we need
    the definition available in nfs4proc.c
    --- old/fs/nfsd/nfssvc.c Thu Aug 1 16:16:02 2002
    +++ new/fs/nfsd/nfssvc.c Sun Aug 11 23:15:09 2002
    @@ -31,10 +31,11 @@
    #include <linux/nfsd/stats.h>
    #include <linux/nfsd/cache.h>
    #include <linux/nfsd/xdr.h>
    +#include <linux/nfsd/xdr3.h>
    +#include <linux/nfsd/xdr4.h>
    #include <linux/lockd/bind.h>

    #define NFSDDBG_FACILITY NFSDDBG_SVC
    -#define NFSD_BUFSIZE (1024 + NFSSVC_MAXBLKSIZE)

    /* these signals will be delivered to an nfsd thread
    * when handling a request
    --- old/include/linux/nfsd/const.h Sun Aug 11 19:20:54 2002
    +++ new/include/linux/nfsd/const.h Sun Aug 11 23:15:09 2002
    @@ -30,6 +30,16 @@
    # define NFS_SUPER_MAGIC 0x6969
    #endif

    +#define NFSD_BUFSIZE (1024 + NFSSVC_MAXBLKSIZE)
    +
    +#ifdef CONFIG_NFSD_V4
    +# define NFSSVC_XDRSIZE NFS4_SVC_XDRSIZE
    +#elif defined(CONFIG_NFSD_V3)
    +# define NFSSVC_XDRSIZE NFS3_SVC_XDRSIZE
    +#else
    +# define NFSSVC_XDRSIZE NFS2_SVC_XDRSIZE
    +#endif
    +
    #endif /* __KERNEL__ */

    #endif /* _LINUX_NFSD_CONST_H */
    --- old/include/linux/nfsd/xdr.h Thu Aug 1 16:16:33 2002
    +++ new/include/linux/nfsd/xdr.h Sun Aug 11 23:15:09 2002
    @@ -119,7 +119,7 @@ union nfsd_xdrstore {
    struct nfsd_readdirargs readdir;
    };

    -#define NFSSVC_XDRSIZE sizeof(union nfsd_xdrstore)
    +#define NFS2_SVC_XDRSIZE sizeof(union nfsd_xdrstore)


    int nfssvc_decode_void(struct svc_rqst *, u32 *, void *);
    -
    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: 2005-03-22 13:28    [W:0.049 / U:0.484 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site