Hi, On 28/10/15 14:20, Bob Peterson wrote: [snip]
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,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; };
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.
