[Top] [All Lists]

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

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 1/2] repair: fix the variable-width nlink array
From: Ben Myers <bpm@xxxxxxx>
Date: Thu, 1 Mar 2012 15:28:22 -0600
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20120228174223.GA6148@xxxxxxxxxxxxx>
References: <20120228174223.GA6148@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.18 (2008-05-17)
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@xxxxxx>

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@xxxxxxx>

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


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