xfs
[Top] [All Lists]

Re: [PATCH V2] xfs: create helper for bmap finish & trans join in attr c

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH V2] xfs: create helper for bmap finish & trans join in attr code
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Fri, 13 Nov 2015 07:12:31 +1100
Cc: Eric Sandeen <sandeen@xxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20151112165801.GA14854@xxxxxxxxxxxxx>
References: <56441B8E.6070603@xxxxxxxxxx> <5644BEF8.6070201@xxxxxxxxxxx> <20151112165801.GA14854@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Thu, Nov 12, 2015 at 08:58:01AM -0800, Christoph Hellwig wrote:
> I think the problem here is simply that our interfaces suck.
> xfs_trans_roll really needs to rejoin any inode to the new transaction
> to that was joined to the previous one.  Once we've fixed that we can
> get rid of the silly committed arguments and everyone will be happy.

xfs_trans_roll is not specifically for rolling transactions with
locked inodes in them. We could use it for any object that needs
multiple transactions to modify. e.g. we could roll transactions
across an AGF (using hold+join) so that it remains locked across
multiple allocation/free transactions.

So I think pushing the inode joining inside xfs_trans_roll() is not
the right thing to do, but an "inode specific wrapper" such as
"xfs_trans_roll_inode()" would handle this just fine...

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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