diff mbox

[2/2] generic/427: used mixed mode for Btrfs

Message ID 5273be80b04afae67e5ff2137e713924c7bfc0ff.1523490276.git.osandov@fb.com (mailing list archive)
State New, archived
Headers show

Commit Message

Omar Sandoval April 11, 2018, 11:47 p.m. UTC
From: Omar Sandoval <osandov@fb.com>

This test creates a 256 MB filesystem and then writes a 200 MB file.
With separate data and metadata, Btrfs will run out of data space since
it needs to allocate some metadata space. Use mixed mode, which is the
recommendation for smaller filesystems.

Signed-off-by: Omar Sandoval <osandov@fb.com>
---
 tests/generic/427 | 2 ++
 1 file changed, 2 insertions(+)

Comments

Dave Chinner April 12, 2018, 12:56 a.m. UTC | #1
On Wed, Apr 11, 2018 at 04:47:30PM -0700, Omar Sandoval wrote:
> From: Omar Sandoval <osandov@fb.com>
> 
> This test creates a 256 MB filesystem and then writes a 200 MB file.
> With separate data and metadata, Btrfs will run out of data space since
> it needs to allocate some metadata space. Use mixed mode, which is the
> recommendation for smaller filesystems.
> 
> Signed-off-by: Omar Sandoval <osandov@fb.com>
> ---
>  tests/generic/427 | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tests/generic/427 b/tests/generic/427
> index 9cde5f50..b2cb4526 100755
> --- a/tests/generic/427
> +++ b/tests/generic/427
> @@ -55,6 +55,8 @@ _require_test_program "feature"
>  _require_aiodio aio-dio-eof-race
>  
>  # limit the filesystem size, to save the time of filling filesystem
> +# Btrfs needs to use mixed mode for such a small filesystem
> +[ "$FSTYP" = "btrfs" ] && MKFS_OPTIONS="$MKFS_OPTIONS -M"


_scratch_mkfs_sized() should already be adding this for small btrfs
filesystems. Yup, it does:

    btrfs)                                                                       
        local mixed_opt=                                                         
        (( fssize <= 100 * 1024 * 1024 )) && mixed_opt='--mixed'                 
        $MKFS_BTRFS_PROG $MKFS_OPTIONS $mixed_opt -b $fssize $SCRATCH_DEV        
        ;;                                                                       

>  _scratch_mkfs_sized $((256 * 1024 * 1024)) >>$seqres.full 2>&1

But this uses a filesystem larger than the mixed mode threshold in
_scratch_mkfs_sized(). Please update the generic threshold rather
than special case this test.

Cheers,

Dave.
Omar Sandoval April 12, 2018, 1:04 a.m. UTC | #2
On Thu, Apr 12, 2018 at 10:56:30AM +1000, Dave Chinner wrote:
> On Wed, Apr 11, 2018 at 04:47:30PM -0700, Omar Sandoval wrote:
> > From: Omar Sandoval <osandov@fb.com>
> > 
> > This test creates a 256 MB filesystem and then writes a 200 MB file.
> > With separate data and metadata, Btrfs will run out of data space since
> > it needs to allocate some metadata space. Use mixed mode, which is the
> > recommendation for smaller filesystems.
> > 
> > Signed-off-by: Omar Sandoval <osandov@fb.com>
> > ---
> >  tests/generic/427 | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/tests/generic/427 b/tests/generic/427
> > index 9cde5f50..b2cb4526 100755
> > --- a/tests/generic/427
> > +++ b/tests/generic/427
> > @@ -55,6 +55,8 @@ _require_test_program "feature"
> >  _require_aiodio aio-dio-eof-race
> >  
> >  # limit the filesystem size, to save the time of filling filesystem
> > +# Btrfs needs to use mixed mode for such a small filesystem
> > +[ "$FSTYP" = "btrfs" ] && MKFS_OPTIONS="$MKFS_OPTIONS -M"
> 
> 
> _scratch_mkfs_sized() should already be adding this for small btrfs
> filesystems. Yup, it does:
> 
>     btrfs)                                                                       
>         local mixed_opt=                                                         
>         (( fssize <= 100 * 1024 * 1024 )) && mixed_opt='--mixed'                 
>         $MKFS_BTRFS_PROG $MKFS_OPTIONS $mixed_opt -b $fssize $SCRATCH_DEV        
>         ;;                                                                       
> 
> >  _scratch_mkfs_sized $((256 * 1024 * 1024)) >>$seqres.full 2>&1
> 
> But this uses a filesystem larger than the mixed mode threshold in
> _scratch_mkfs_sized(). Please update the generic threshold rather
> than special case this test.

I missed this, thanks, I'll send a v2.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/tests/generic/427 b/tests/generic/427
index 9cde5f50..b2cb4526 100755
--- a/tests/generic/427
+++ b/tests/generic/427
@@ -55,6 +55,8 @@  _require_test_program "feature"
 _require_aiodio aio-dio-eof-race
 
 # limit the filesystem size, to save the time of filling filesystem
+# Btrfs needs to use mixed mode for such a small filesystem
+[ "$FSTYP" = "btrfs" ] && MKFS_OPTIONS="$MKFS_OPTIONS -M"
 _scratch_mkfs_sized $((256 * 1024 * 1024)) >>$seqres.full 2>&1
 _scratch_mount