xfs
[Top] [All Lists]

Re: [PATCH 01/15] xfs: Add a new transaction for changing ag state

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 01/15] xfs: Add a new transaction for changing ag state
From: Jeff Liu <jeff.liu@xxxxxxxxxx>
Date: Tue, 04 Dec 2012 19:56:10 +0800
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20121203212809.GZ32450@dastard>
References: <50A5E0E7.7010002@xxxxxxxxxx> <20121203012453.GF29399@dastard> <50BC1458.2000609@xxxxxxxxxx> <20121203212809.GZ32450@dastard>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121028 Thunderbird/16.0.2
On 12/04/2012 05:28 AM, Dave Chinner wrote:
> On Mon, Dec 03, 2012 at 10:54:16AM +0800, Jeff Liu wrote:
>> On 12/03/2012 09:24 AM, Dave Chinner wrote:
>>> As such I'd like to see this sort of thing encoded in a macro or
>>> inline function so the above code becomes something like:
>>>
>>>     return mp->m_sb.sb_sectsize + xfs_buf_log_overhead(mp);
>>>
>>>
>>> and
>>>
>>> /*
>>>  * A buffer has a format structure overhead in the log in addition
>>>  * to the data, so we need to take this into account when reserving
>>>  * space in a transaction for a buffer. Round the space required up
>>>  * to a multiple of 128 bytes so that we don't change the historical
>>>  * reservation that has ben used for this overhead.
>>>  */
>>> static inline int
>>> xfs_buf_log_overhead()
>>> {
>>>     return round_up(sizeof(struct xlog_op_header) +
>>>                     sizeof(struct xfs_buf_log_format), 128);
>>> }
>> Thanks for your teaching!
>>
>> We hard-coded '128' in almost all of those transaction reservations,
>> is it time to get rid of it according to your comments above?
>>
>> I'd like to do it if you have no time to deal with such trivial things. 
> 
> Yes please!
> 
> It's been on my "clean-ups for a rainy day" list for a long time,
> but I've never managed to get around to it. So if you want to do
> this, it would make me very happy :)
Just done the changes, I will continue to run a comprehensive testing
tomorrow before posting those patches. :)

Thanks,
-Jeff

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