public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Brian Foster <bfoster@redhat.com>
To: Wang Sheng-Hui <shhuiw@foxmail.com>
Cc: Dave Chinner <dchinner@redhat.com>, xfs <xfs@oss.sgi.com>
Subject: Re: xfsprogs/mkfs: what's the relationship between max trans res and min log size
Date: Mon, 18 May 2015 09:34:40 -0400	[thread overview]
Message-ID: <20150518133439.GA43596@bfoster.bfoster> (raw)
In-Reply-To: <555987A2.3050604@foxmail.com>

On Mon, May 18, 2015 at 02:33:06PM +0800, Wang Sheng-Hui wrote:
> Hi guys,
> 
> 
> In maxtrres.c/max_trans_res, it calls xfs_log_calc_minimum_size to compute the
>               maximum transaction reservation
> 
> But for xfs_log_calc_minimum_size, it's used to calculate the
>               minimum valid log size
> 
> 
> The naming max/minimum seems confusing.
> 
> Why are they named in such way? What's the relationship between max trans res
> and minimun log size, (max trans res) <= (minimun log size)?
> 
> 
> Any explanations are welcomed!
> 

>From the comment in xfs_log_calc_minimum_size():

        /*
         * Two factors should be taken into account for calculating the minimum
         * log space.
         * 1) The fundamental limitation is that no single transaction can be
         *    larger than half size of the log.
         *
         *    From mkfs.xfs, this is considered by the XFS_MIN_LOG_FACTOR
         *    define, which is set to 3. That means we can definitely fit
         *    maximally sized 2 transactions in the log. We'll use this same
         *    value here.
	 ...
	 */

So the log must be at least the size of two single transactions (it
looks like the code is conservative and uses a factor of 3). This is a
limitation on the minimum allowable log size for the fs. Transactions
are of variable size, so to determine what that means in terms of actual
size we must calculate the maximum possible (i.e., worst case)
transaction size for the particular fs geometry and then use that to
calculate the minimum total log size.

Brian

> 
> Thanks,
> Sheng-Hui
> 
> 
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2015-05-18 13:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-18  6:33 xfsprogs/mkfs: what's the relationship between max trans res and min log size Wang Sheng-Hui
2015-05-18 13:34 ` Brian Foster [this message]
2015-05-18 23:28   ` Wang Sheng-Hui

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150518133439.GA43596@bfoster.bfoster \
    --to=bfoster@redhat.com \
    --cc=dchinner@redhat.com \
    --cc=shhuiw@foxmail.com \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox