Re: [PATCH 05/60] xfs: don't do IO when creating an new inode

Mark Tinguely
2013-06-21T13:57:24Z

On 06/18/13 23:50, Dave Chinner wrote:
> From: Dave Chinner<dchinner@redhat.com>
>
> When we are allocating a new inode, we read the inode cluster off
> disk to increment the generation number. We are already using a
> random generation number for newly allocated inodes, so if we are not
> using the ikeep mode, we can just generate a new generation number
> when we initialise the newly allocated inode.
>
> This avoids the need for reading the inode buffer during inode
> creation. This will speed up allocation of inodes in cold, partially
> allocated clusters as they will no longer need to be read from disk
> during allocation. It will also reduce the CPU overhead of inode
> allocation by not having the process the buffer read, even on cache
> hits.
>
> Signed-off-by: Dave Chinner<dchinner@redhat.com>
> ---

Looks good.

As a side note, the comment in xfs_inode.h for the i_d:
xfs_icdinode_t i_d; /* most of ondisk inode */

In Linux 3.10, it is no longer just most.

Reviewed-by: Mark Tinguely <tinguely@sgi.com>