[PATCH 1/2] repair: fix the variable-width nlink array

Ben Myers bpm at sgi.com
Thu Mar 1 15:28:22 CST 2012


Hey Christoph,

On Tue, Feb 28, 2012 at 12:42:24PM -0500, Christoph Hellwig wrote:
> It looks like we currently never grow the variable-width nlink array
> if only the on-disk nlink size overflows 8 bits.  This leads to a major
> mess in nlink counting, and eventually an assert in phase7.
> 
> Replace the indirect all mess with a union that allows doing proper
> array arithmetics while we're at it.
> 
> Signed-off-by: Christoph Hellwig <hch at lst.de>

This looks good to me.  I enjoyed the fallthrus in set_inode_disk_nlinks
and add_inode_ref.

I haven't tested with this many links though... Are there any xfstests
that would exercise this?

Reviewed-by: Ben Myers <bpm at sgi.com>

On my machine test 030 has regressed.  It passed on 3.1.7.

-Ben



More information about the xfs mailing list