[Top] [All Lists]

Re: [PATCH v2 02/12] xfs: make use of xfs_calc_buf_res() in xfs_trans.c

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH v2 02/12] xfs: make use of xfs_calc_buf_res() in xfs_trans.c
From: Mark Tinguely <tinguely@xxxxxxx>
Date: Sun, 20 Jan 2013 14:14:35 -0600
Cc: Jeff Liu <jeff.liu@xxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20130119230943.GW2498@dastard>
References: <50EEC68F.6070309@xxxxxxxxxx> <50FAEF3F.7090607@xxxxxxx> <20130119230943.GW2498@dastard>
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0
On 01/19/13 17:09, Dave Chinner wrote:
On Sat, Jan 19, 2013 at 01:08:47PM -0600, Mark Tinguely wrote:
On 01/10/13 07:47, Jeff Liu wrote:
Start to make use of the new helper to figure out space log reservations for 
transactions which are pre-calculated at mount time in xfs_trans.c.

Signed-off-by: Jie Liu<jeff.liu@xxxxxxxxxx>
  fs/xfs/xfs_trans.c |  244 ++++++++++++++++++++++++----------------------------
  1 file changed, 113 insertions(+), 131 deletions(-)

Wow! Reading this patch makes me appreciate the work you did here
and gets my eyes in shape for Dave's UBER user sync patch.

A question for you, or anyone. When these reservations are made, the
comments talk about specify number of agf/agfl (usually 2 or 3) that
will be dirty in the command.

There are other comments that seem to imply an agf/agfl is reserved
for all AGs and then use the multiplier of 4. Is a specific number
of AGs can be involved in the operation or does it want something
like sb_agcount?

Do you mean comments like this about

  * And the bmap_finish transaction can free the blocks and bmap
  * blocks:
  *    the agf for each of the ags: 4 * sector size
  *    the agfl for each of the ags: 4 * sector size

This assumes the transaction can free 4 extents before a commit, and
all 4 extents can be in a different AG.

You'll find all the other cases documented like this indicate how
many extents can be freed or allocated in a single transaction....

Yes thanks.

The 2/3 cases were obvious, but I was wondering how to read this one.


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