On Mon, Mar 15, 2010 at 12:33:24PM -0400, Christoph Hellwig wrote:
> On Mon, Mar 15, 2010 at 12:01:54PM -0400, Christoph Hellwig wrote:
> > Running the series on my KVM testbox trips out this assert in
> > xfstests 013, which suggests we might be calling iput one too
> > much somewhere (e.g. IOP_UNLOCK)):
> > [ 132.174780] Assertion failed: atomic_read(&VFS_I(dp)->i_count) > 0,
> > file: fs/xfs/xfs_vnodeops.c, line: 1430
> Turns out this was due to the fsync clustering patch, which adds inodes
> to a transaction without first grabbing a reference to them.
> Unofrtunately grabbing the reference is not a easy as it sounds, as
> inodes in the cluster might be on the unused list or even not have
> valid VFS state anymore, so we can't simply call IHOLD here. I've
> reverted the patch in my local tree for now.
Yeah, that change was only half-baked - I was in two minds as to
whether to include it. I'll drop it from the series until I've had
more time to consider it.