From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Fri, 30 Oct 2015 10:34:08 +0000 Subject: [Cluster-devel] [PATCH 1/4] GFS2: Reduce size of incore inode In-Reply-To: <1446042009-30312-2-git-send-email-rpeterso@redhat.com> References: <1446042009-30312-1-git-send-email-rpeterso@redhat.com> <1446042009-30312-2-git-send-email-rpeterso@redhat.com> Message-ID: <563347A0.3060401@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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.