xfs
[Top] [All Lists]

Re: [PATCH] XFS: remove i_gen from incore inode

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH] XFS: remove i_gen from incore inode
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Sun, 14 Sep 2008 09:16:18 -0400
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1221313631-27727-1-git-send-email-david@fromorbit.com>
References: <1221313631-27727-1-git-send-email-david@fromorbit.com>
User-agent: Mutt/1.5.18 (2008-05-17)
On Sat, Sep 13, 2008 at 11:47:11PM +1000, Dave Chinner wrote:
> i_gen is incremented in directory operations when the
> directory is changed. It is never read or otherwise used
> so it should be removed to help reduce the size of the
> struct xfs_inode.
> 
> The patch also removes a duplicate logging of the directory
> inode core. We only need to do this once per transaction
> so kill the one associated with the i_gen increment.

Still looks as good as when you posted it first month ago :)

And for reference here's the required fixup for xfsidbg:

Index: linux-2.6-xfs/fs/xfs/xfsidbg.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfsidbg.c 2008-08-11 13:02:32.000000000 -0300
+++ linux-2.6-xfs/fs/xfs/xfsidbg.c      2008-08-11 13:36:50.000000000 -0300
@@ -3633,7 +3633,6 @@ xfs_prdinode_incore(xfs_icdinode_t *dip)
                xfs_fmtformat((xfs_dinode_fmt_t)dip->di_aformat),
                dip->di_dmevmask, dip->di_dmstate);
        printflags(dip->di_flags, diflags, "flags");
-       kdb_printf("gen 0x%x\n", dip->di_gen);
 }
 
 #ifdef XFS_RW_TRACE
@@ -6385,11 +6384,8 @@ xfsidbg_xnode(xfs_inode_t *ip)
        kdb_printf("\n");
        kdb_printf("update_core %d update size %d\n",
                (int)(ip->i_update_core), (int) ip->i_update_size);
-       kdb_printf("gen 0x%x delayed blks %d",
-               ip->i_gen,
-               ip->i_delayed_blks);
-       kdb_printf("size %lld\n",
-               ip->i_size);
+       kdb_printf("delayed blks %d size %lld\n",
+               ip->i_delayed_blks, ip->i_size);
 
 #ifdef XFS_INODE_TRACE
        qprintf(" trace 0x%p\n", ip->i_trace);

<Prev in Thread] Current Thread [Next in Thread>