Hi,

On 28/10/15 14:20, Bob Peterson wrote:
[snip]
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 121ed08..76c9c77 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -259,12 +259,12 @@ struct gfs2_holder {
struct gfs2_glock *gh_gl;
        struct pid *gh_owner_pid;
-       unsigned int gh_state;
-       unsigned gh_flags;
int gh_error;
        unsigned long gh_iflags; /* HIF_... */
        unsigned long gh_ip;
+       u16 gh_flags;
+       u8 gh_state;
  };
Is this really much smaller after the change? Looks like it is probably not packed correctly and there is likely to be a hole in it, depending on where the 64 bit boundaries lie. Probably better off making the gh_state and gh_flags 16 bit, but leaving them where they are in the structure,

Steve.

  /* Number of quota types we support */
@@ -289,10 +289,9 @@ struct gfs2_blkreserv {
        u32 rs_free;                  /* how many blocks are still free */
        u64 rs_inum;                  /* Inode number for reservation */
- /* ancillary quota stuff */
        struct gfs2_quota_data *rs_qa_qd[2 * GFS2_MAXQUOTAS];
        struct gfs2_holder rs_qa_qd_ghs[2 * GFS2_MAXQUOTAS];
-       unsigned int rs_qa_qd_num;
+       u32 rs_qa_qd_num;
  };
Again, does this really save any space?

Steve.

Reply via email to