NFSv4: Save a few bytes in the nfs_pgio_args/res
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 24 Sep 2018 17:15:37 +0000 (13:15 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Sun, 30 Sep 2018 19:35:17 +0000 (15:35 -0400)
Save a few bytes by allowing the read/write specific fields of the
structures to share storage.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
include/linux/nfs_xdr.h

index 7f5535e5e852c6b39b7a234fc0799d52ca780ec6..343e4416634683df6776e95ff68ff71b831873e7 100644 (file)
@@ -608,9 +608,13 @@ struct nfs_pgio_args {
        __u32                   count;
        unsigned int            pgbase;
        struct page **          pages;
-       unsigned int            replen;         /* used by read */
-       const u32 *             bitmask;        /* used by write */
-       enum nfs3_stable_how    stable;         /* used by write */
+       union {
+               unsigned int            replen;                 /* used by read */
+               struct {
+                       const u32 *             bitmask;        /* used by write */
+                       enum nfs3_stable_how    stable;         /* used by write */
+               };
+       };
 };
 
 struct nfs_pgio_res {
@@ -618,10 +622,16 @@ struct nfs_pgio_res {
        struct nfs_fattr *      fattr;
        __u32                   count;
        __u32                   op_status;
-       int                     eof;            /* used by read */
-       unsigned int            replen;         /* used by read */
-       struct nfs_writeverf *  verf;           /* used by write */
-       const struct nfs_server *server;        /* used by write */
+       union {
+               struct {
+                       unsigned int            replen;         /* used by read */
+                       int                     eof;            /* used by read */
+               };
+               struct {
+                       struct nfs_writeverf *  verf;           /* used by write */
+                       const struct nfs_server *server;        /* used by write */
+               };
+       };
 };
 
 /*