[PATCH v3 13/18] xfs: update free inode record logic to support sparse inode records

Dave Chinner david at fromorbit.com
Sun Feb 8 16:33:17 CST 2015


On Fri, Feb 06, 2015 at 02:53:00PM -0500, Brian Foster wrote:
> xfs_difree_inobt() uses logic in a couple places that assume inobt
> records refer to fully allocated chunks. Specifically, the use of
> mp->m_ialloc_inos can cause problems for inode chunks that are sparsely
> allocated. Sparse inode chunks can, by definition, define a smaller
> number of inodes than a full inode chunk.
> 
> Fix the logic that determines whether an inode record should be removed
> from the inobt to use the ir_free mask rather than ir_freecount.
> 
> Fix the agi counters modification to use ir_freecount to add the actual
> number of inodes freed rather than assuming a full inode chunk.
> 
> Signed-off-by: Brian Foster <bfoster at redhat.com>

This should be moved to the start of the series, along with any
other code that does rec.ir_freecount checks to see if the chunk
has inodes in use or not.

Cheers,

Dave.
-- 
Dave Chinner
david at fromorbit.com



More information about the xfs mailing list