xfs
[Top] [All Lists]

Re: What is the meaning of XLOG_MIN_RECORD_BSIZE? (Missing a check?)

To: Brian Foster <bfoster@xxxxxxxxxx>
Subject: Re: What is the meaning of XLOG_MIN_RECORD_BSIZE? (Missing a check?)
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Mon, 22 Feb 2016 10:18:15 +1100
Cc: Jan Tulak <jtulak@xxxxxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20160219162913.GC27263@xxxxxxxxxxxxxxx>
References: <CACj3i70osVyt=QTTqoqKGttwNC8w7Gtq479-Nk-icQrDn83hCA@xxxxxxxxxxxxxx> <20160219154347.GA27263@xxxxxxxxxxxxxxx> <CACj3i72wijiApA0gD0mRrMvPomDC5pEAr1Mvv6e3vi4HU1S_sw@xxxxxxxxxxxxxx> <20160219162913.GC27263@xxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, Feb 19, 2016 at 11:29:13AM -0500, Brian Foster wrote:
> On Fri, Feb 19, 2016 at 05:16:28PM +0100, Jan Tulak wrote:
> > On Fri, Feb 19, 2016 at 4:43 PM, Brian Foster <bfoster@xxxxxxxxxx> wrote:
> > > On Fri, Feb 19, 2016 at 02:34:52PM +0100, Jan Tulak wrote:
> > > > There is no check for a minimal value, so I can do -l su=1 (or su=0). 
> > > > Are
> > > > there some caveatâs (other than performance) with such a small value? 
> > > > Can
> > > > it be that we are missing a check? Because
> > > > XLOG_BIG_RECORD_BSIZE
> > > > â and XLOG_MAX_RECORD_BSIZE are used and the upper bound is limited.â..
> > > >
> > >
> > > On a quick test, it looks like mkfs just ignores certain log stripe unit
> > > values that aren't block aligned. I'd probably expect this to behave
> > > similar to the '-d su' option and complain about invalid input..?
> > 
> > âSounds logical and like what I expected and didn't found. I will send a
> > patch adding this check... the only question is, what should be the minimal
> > value? Should I check it against block size and forbid smaller sizes?
> > Aligning a stripe unit with length 1024 on 4096 blocks doesn't looks like a
> > nice thing. :-)
> > (And on a quick check, it seems that -d su is doing just that.)
> 
> The man page says it must be a multiple of the fsb size. Indeed, '-d su'
> complains about anything that is less than 1 FSB, so I would just go
> with that. :)

Keep in mind that a value of 0 in the superblock is completely
acceptible, in which case the kernel treats the log stripe unit as
being a single sector (i.e. same as a v1 log). See, for example,
xlog_sync() where it works out the padding to use for the log buffer
write.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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