Re: [PATCH] xfs/119: fix too small log size error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 12, 2018 at 09:15:09PM +0800, Eryu Guan wrote:
> On Wed, Sep 12, 2018 at 07:04:04PM +0800, Zorro Lang wrote:
> > xfs/119 fails on 4k hard sector size device if reflink (with/without
> > rmapbt) is enabled:
> > 
> >   # mkfs.xfs -f -m reflink=1,rmapbt=0 -l version=2,size=2560b,su=64k /dev/sdf
> >   log size 2560 blocks too small, minimum size is 2688 blocks
> >   # mkfs.xfs -f -m reflink=1,rmapbt=1 -l version=2,size=2560b,su=64k /dev/sdf
> >   log size 2560 blocks too small, minimum size is 4368 blocks
> > 
> > So remove log size parameter and run mkfs.xfs again if it fails.
> > 
> > Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx>
> > ---
> > 
> > I saw Dave changed the log size once in commit:
> >   d0a3cc5a xfs/104: log size too small for 4k sector drives
> > 
> > But it's still not enough after we have reflink feature now. I don't
> > know why this case need "-l version=2,size=2560b,su=64k",
> > if someone learns about this case, please tell me how to change this
> > case properly. If the log size parameter is not necessary, I'd like
> > to remove it.
> 
> I guess we still need the log size param, as the test is testing
> "freeze/thaws on a small log fs", please see commit 3ebdf78c16cb ("Test
> out pv#942130 where the unmount rec is not ungranting log space. Merge
> of master-melb:xfs-cmds:23759a by kenmcd."), but we don't have much
> background information from that ancient commit log..

Yeah, I can't understand the pv#942130 meaning, and can't find it by Google.
Does anyone know the background, then tell me if it must use the minimum
log size?

And I find xfs_mkfs always trys to use the smallest log size which it can
use by using libxfs_log_calc_minimum_size() (but the real calculator is
more complicated)...

Thanks,
Zorro

> 
> Thanks,
> Eryu
> 
> > 
> > Thanks,
> > Zorro
> > 
> >  tests/xfs/119 | 9 ++++++++-
> >  1 file changed, 8 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tests/xfs/119 b/tests/xfs/119
> > index bf7f1ca8..d507aacf 100755
> > --- a/tests/xfs/119
> > +++ b/tests/xfs/119
> > @@ -40,7 +40,14 @@ sync
> >  
> >  export MKFS_OPTIONS="-l version=2,size=2560b,su=64k" 
> >  export MOUNT_OPTIONS="-o logbsize=64k"
> > -_scratch_mkfs_xfs >/dev/null
> > +_scratch_mkfs_xfs >/dev/null 2>&1
> > +# The specified log size maybe too small if new features (e.g: reflink
> > +# or/and rmapbt) is enabled. So if mkfs fails, don't specify log size
> > +# and try to mkfs again.
> > +if [ $? -ne 0 ]; then
> > +	export MKFS_OPTIONS="-l version=2,su=64k"
> > +	_scratch_mkfs_xfs >/dev/null
> > +fi
> >  
> >  _scratch_mount
> >  
> > -- 
> > 2.14.4
> > 



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux