xfs
[Top] [All Lists]

Re: [PATCH 2/2] kill xfs_lock_dir_and_entry

To: Christoph Hellwig <hch@xxxxxx>
Subject: Re: [PATCH 2/2] kill xfs_lock_dir_and_entry
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu, 24 Jul 2008 16:22:00 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20080723081315.GA3863@xxxxxx>
Mail-followup-to: Christoph Hellwig <hch@xxxxxx>, xfs@xxxxxxxxxxx
References: <20080502105803.GC17870@xxxxxx> <20080520063639.GC8869@xxxxxx> <20080627130627.GC23431@xxxxxx> <20080723081315.GA3863@xxxxxx>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.18 (2008-05-17)
On Wed, Jul 23, 2008 at 10:13:15AM +0200, Christoph Hellwig wrote:
> ping^3 - this time for real :)
> 
> On Fri, Jun 27, 2008 at 03:06:27PM +0200, Christoph Hellwig wrote:
> > ping^2
> > 
> > On Tue, May 20, 2008 at 08:36:39AM +0200, Christoph Hellwig wrote:
> > > ping?
> > > 
> > > On Fri, May 02, 2008 at 12:58:03PM +0200, Christoph Hellwig wrote:
> > > > When multiple inodes are locked in XFS it happens in order of the inode
> > > > number, with the everything but the first inode trylocked if any of
> > > > the previous inodes is in the AIL.
> > > > 
> > > > Except for the sorting of the inodes this logic is implemented in
> > > > xfs_lock_inodes, but also partially duplicated in xfs_lock_dir_and_entry
> > > > in a particularly stupid way adds a lock roundtrip if the inode ordering
> > > > is not optimal.
> > > > 
> > > > This patch adds a new helper xfs_lock_two_inodes that takes two inodes
> > > > and locks them in the most optimal way according to the above locking
> > > > protocol and uses it for all places that want to lock two inodes.
> > > > 
> > > > The only caller of xfs_lock_inodes is xfs_rename which might lock up to
> > > > four inodes.

Looks good and passes xfsqa here....

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx


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