[Top] [All Lists]

Re: [RFC] Delayed logging

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [RFC] Delayed logging
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Mon, 15 Mar 2010 12:33:24 -0400
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20100315160154.GA10406@xxxxxxxxxxxxx>
References: <20100315043000.GK4732@dastard> <20100315160154.GA10406@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.19 (2009-01-05)
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.

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