Skip to contentSkip to conversation

fstests: fix _filter_mkfs regression on btrfs

PATCH In review Eric Sandeen 4 participants 4 messages Mar 26, 2015 – Mar 28, 2015 Btrfs file system

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fstests: fix _filter_mkfs regression on btrfs

commit:

5e8b9e6 btrfs: add regression test for remount with thread_pool resized

did weird things to _filter_mkfs; aside from broken indentation, it also short-circuited the default non-xfs behavior, which was to emit a default block & inode size. And that was all because btrfs/082 was using _filter_mkfs & not redirecting output away as per normal.

Granted, it's not super clear that _filter_mkfs serves this rather unique purpose, but anyway...

And, while having this default seems to be of questionable value, not emitting *anything* led to this on btrfs:

    +./tests/generic/204: line 76: space / (isize + dbsize): division by 0 (error token is ")")

because those variables don't get set for btrfs, thanks to the above commit.

So take out the use of _filter_mkfs in btrfs/082, and take out the munging of _filter_mkfs which broke generic/204, and get things back to something semi-sane.

---

common/filter +0 -4
index 71ef2e2..05dbae6 100644
@@ -137,10 +137,6 @@ _filter_mkfs()
     case $FSTYP in
     xfs)
 	;;
-	btrfs)
-	sed -e "/Performing full device TRIM/d" \
-		-e "/Turning ON incompat feature/d"
-	return ;;
     *)
 	cat - >/dev/null
 	perl -e 'print STDERR "dbsize=4096\nisize=256\n"'
tests/btrfs/082 +1 -1
index dd3c87e..1324d27 100755
@@ -55,7 +55,7 @@ _supported_fs btrfs
 _supported_os Linux
 _require_scratch
 
-_scratch_mkfs |& _filter_mkfs
+_scratch_mkfs >>$seqres.full 2>&1
 
 _scratch_mount "-o thread_pool=6"
 _scratch_mount "-o remount,thread_pool=10"
tests/generic/204 +1 -0
index d6bb094..13069d8 100755
@@ -60,6 +60,7 @@ _scratch_mkfs_sized $SIZE $dbsize 2> /dev/null \
 		| _filter_mkfs 2> $tmp.mkfs > /dev/null
 _scratch_mount
 
+# Source $tmp.mkfs to get geometry
 . $tmp.mkfs
 
 # fix the reserve block pool to a known size so that the enospc calculations
Reviewed-by on v1 1/1
#1 lore raw
Quoted 17 lines · Eric Sandeen

commit:

5e8b9e6 btrfs: add regression test for remount with thread_pool resized

did weird things to _filter_mkfs; aside from broken indentation, it also short-circuited the default non-xfs behavior, which was to emit a default block & inode size. And that was all because btrfs/082 was using _filter_mkfs & not redirecting output away as per normal.

Granted, it's not super clear that _filter_mkfs serves this rather unique purpose, but anyway...

And, while having this default seems to be of questionable value, not emitting *anything* led to this on btrfs:

    +./tests/generic/204: line 76: space / (isize + dbsize): division by 0 (error token is ")")
Quoted 8 lines

because those variables don't get set for btrfs, thanks to the above commit.

So take out the use of _filter_mkfs in btrfs/082, and take out the munging of _filter_mkfs which broke generic/204, and get things back to something semi-sane.

Tested by running btrfs/082 and generic/204 on btrfs and all worked fine

One minor issue below

Quoted 24 lines

---

common/filter +0 -4
index 71ef2e2..05dbae6 100644
@@ -137,10 +137,6 @@ _filter_mkfs()
     case $FSTYP in
     xfs)
 	;;
-	btrfs)
-	sed -e "/Performing full device TRIM/d" \
-		-e "/Turning ON incompat feature/d"
-	return ;;
     *)
 	cat - >/dev/null
 	perl -e 'print STDERR "dbsize=4096\nisize=256\n"'
tests/btrfs/082 +0 -0
index dd3c87e..1324d27 100755

tests/btrfs/082 _supported_fs btrfs · line 58

Quoted 5 lines
tests/btrfs/082 +1 -1
@@ -55,7 +55,7 @@ _supported_fs btrfs
 _supported_os Linux
 _require_scratch
 
-_scratch_mkfs |& _filter_mkfs
+_scratch_mkfs >>$seqres.full 2>&1

Should rm -f $seqres.full, or the file is growing forever.

But I think simply >/dev/null is fine too, the following _scratch_mount could catch any mkfs error.

Anyway, with this fixed:

Quoted 22 lines
tests/btrfs/082 +0 -0
 _scratch_mount "-o thread_pool=6"
 _scratch_mount "-o remount,thread_pool=10"
 
tests/generic/204 +1 -1
index d6bb094..13069d8 100755
@@ -60,6 +60,7 @@ _scratch_mkfs_sized $SIZE $dbsize 2> /dev/null \
 		| _filter_mkfs 2> $tmp.mkfs > /dev/null
 _scratch_mount
 
+# Source $tmp.mkfs to get geometry
 . $tmp.mkfs
 
 # fix the reserve block pool to a known size so that the enospc calculations
 
 
--

To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw

PATCH v2 1/1 fstests: fix _filter_mkfs regression on btrfs

In reply to Eric Sandeen

commit:

5e8b9e6 btrfs: add regression test for remount with thread_pool resized

did weird things to _filter_mkfs; aside from broken indentation, it also short-circuited the default non-xfs behavior, which was to emit a default block & inode size. And that was all because btrfs/082 was using _filter_mkfs & not redirecting output away as per normal.

Granted, it's not super clear that _filter_mkfs serves this rather unique purpose, but anyway...

And, while having this default seems to be of questionable value, not emitting *anything* led to this on btrfs:

    +./tests/generic/204: line 76: space / (isize + dbsize): division by 0 (error token is ")")

because those variables don't get set for btrfs, thanks to the above commit.

So take out the use of _filter_mkfs in btrfs/082, and take out the munging of _filter_mkfs which broke generic/204, and get things back to something semi-sane.

---

V2: truncate seqres.full on first write, thanks Eryu!

common/filter +0 -4
index 71ef2e2..05dbae6 100644
@@ -137,10 +137,6 @@ _filter_mkfs()
     case $FSTYP in
     xfs)
 	;;
-	btrfs)
-	sed -e "/Performing full device TRIM/d" \
-		-e "/Turning ON incompat feature/d"
-	return ;;
     *)
 	cat - >/dev/null
 	perl -e 'print STDERR "dbsize=4096\nisize=256\n"'
tests/btrfs/082 +1 -1
index dd3c87e..1324d27 100755
@@ -55,7 +55,7 @@ _supported_fs btrfs
 _supported_os Linux
 _require_scratch
 
-_scratch_mkfs |& _filter_mkfs
+_scratch_mkfs >$seqres.full 2>&1
 
 _scratch_mount "-o thread_pool=6"
 _scratch_mount "-o remount,thread_pool=10"
tests/generic/204 +1 -0
index d6bb094..13069d8 100755
@@ -60,6 +60,7 @@ _scratch_mkfs_sized $SIZE $dbsize 2> /dev/null \
 		| _filter_mkfs 2> $tmp.mkfs > /dev/null
 _scratch_mount
 
+# Source $tmp.mkfs to get geometry
 . $tmp.mkfs
 
 # fix the reserve block pool to a known size so that the enospc calculations

--
To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Tested-by Filipe Manana Reviewed-by Filipe Manana on v2 1/1
#3 lore raw
Quoted 17 lines · Eric Sandeen

commit:

5e8b9e6 btrfs: add regression test for remount with thread_pool resized

did weird things to _filter_mkfs; aside from broken indentation, it also short-circuited the default non-xfs behavior, which was to emit a default block & inode size. And that was all because btrfs/082 was using _filter_mkfs & not redirecting output away as per normal.

Granted, it's not super clear that _filter_mkfs serves this rather unique purpose, but anyway...

And, while having this default seems to be of questionable value, not emitting *anything* led to this on btrfs:

    +./tests/generic/204: line 76: space / (isize + dbsize): division by 0 (error token is ")")
Quoted 8 lines

because those variables don't get set for btrfs, thanks to the above commit.

So take out the use of _filter_mkfs in btrfs/082, and take out the munging of _filter_mkfs which broke generic/204, and get things back to something semi-sane.

Thanks, I had reported this recently as well [1].

[1] http://www.spinics.net/lists/linux-btrfs/msg42117.html

Quoted 58 lines

---

V2: truncate seqres.full on first write, thanks Eryu!

common/filter +0 -4
index 71ef2e2..05dbae6 100644
@@ -137,10 +137,6 @@ _filter_mkfs()
     case $FSTYP in
     xfs)
        ;;
-       btrfs)
-       sed -e "/Performing full device TRIM/d" \
-               -e "/Turning ON incompat feature/d"
-       return ;;
     *)
        cat - >/dev/null
        perl -e 'print STDERR "dbsize=4096\nisize=256\n"'
tests/btrfs/082 +1 -1
index dd3c87e..1324d27 100755
@@ -55,7 +55,7 @@ _supported_fs btrfs
 _supported_os Linux
 _require_scratch
 
-_scratch_mkfs |& _filter_mkfs
+_scratch_mkfs >$seqres.full 2>&1
 
 _scratch_mount "-o thread_pool=6"
 _scratch_mount "-o remount,thread_pool=10"
tests/generic/204 +1 -1
index d6bb094..13069d8 100755
@@ -60,6 +60,7 @@ _scratch_mkfs_sized $SIZE $dbsize 2> /dev/null \
                | _filter_mkfs 2> $tmp.mkfs > /dev/null
 _scratch_mount
 
+# Source $tmp.mkfs to get geometry
 . $tmp.mkfs
 
 # fix the reserve block pool to a known size so that the enospc calculations
 
 
--

To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 5 lines
Filipe David Manana,

"Reasonable men adapt themselves to the world.
 Unreasonable men adapt the world to themselves.
 That's why all progress depends on unreasonable men."