* [PATCH] fstests: btrfs, add missing umount for raid5 tests 124 and 125
@ 2016-11-24 6:25 fdmanana
2016-12-02 1:14 ` Anand Jain
0 siblings, 1 reply; 4+ messages in thread
From: fdmanana @ 2016-11-24 6:25 UTC (permalink / raw)
To: fstests; +Cc: linux-btrfs, Filipe Manana
From: Filipe Manana <fdmanana@suse.com>
The tests mount the second device in the device pool but never unmount
it, causing the next test to fail.
Example:
$ cat local.config
export TEST_DEV=/dev/sdb
export TEST_DIR=/home/fdmanana/btrfs-tests/dev
export SCRATCH_MNT="/home/fdmanana/btrfs-tests/scratch_1"
export SCRATCH_DEV_POOL="/dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg"
export FSTYP=btrfs
$ ./check btrfs/125 btrfs/126
FSTYP -- btrfs
PLATFORM -- Linux/x86_64 debian3 4.8.0-rc8-btrfs-next-35+
MKFS_OPTIONS -- /dev/sdc
MOUNT_OPTIONS -- /dev/sdc /home/fdmanana/btrfs-tests/scratch_1
btrfs/125 23s ... 22s
btrfs/126 1s ... - output mismatch (see /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad)
--- tests/btrfs/126.out 2016-11-24 06:11:42.048372385 +0000
+++ /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad 2016-11-24 06:16:35.987988895 +0000
@@ -1,2 +1,5 @@
QA output created by 126
-pwrite: Disk quota exceeded
+ERROR: /dev/sdc is mounted
+mount: /dev/sdc is already mounted or /home/fdmanana/btrfs-tests/scratch_1 busy
+ /dev/sdc is already mounted on /home/fdmanana/btrfs-tests/scratch_1
+/home/fdmanana/btrfs-tests/scratch_1/test_file: Disk quota exceeded
...
(Run 'diff -u tests/btrfs/126.out /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad' to see the entire diff)
Ran: btrfs/125 btrfs/126
Failures: btrfs/126
Failed 1 of 2 tests
So just make sure those test unmount the device before they finish.
Signed-off-by: Filipe Manana <fdmanana@suse.com>
---
tests/btrfs/124 | 1 +
tests/btrfs/125 | 1 +
2 files changed, 2 insertions(+)
diff --git a/tests/btrfs/124 b/tests/btrfs/124
index 2618a26..7206094 100755
--- a/tests/btrfs/124
+++ b/tests/btrfs/124
@@ -159,6 +159,7 @@ if [ "$checkpoint1" != "$checkpoint3" ]; then
echo "Inital sum does not match with data on dev2 written by balance"
fi
+$UMOUNT_PROG $dev2
_scratch_dev_pool_put
_test_mount
diff --git a/tests/btrfs/125 b/tests/btrfs/125
index 1062b87..91aa8d8 100755
--- a/tests/btrfs/125
+++ b/tests/btrfs/125
@@ -175,6 +175,7 @@ if [ "$checkpoint1" != "$checkpoint3" ]; then
echo "Inital sum does not match with data on dev2 written by balance"
fi
+$UMOUNT_PROG $dev2
_scratch_dev_pool_put
_test_mount
--
2.7.0.rc3
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] fstests: btrfs, add missing umount for raid5 tests 124 and 125 2016-11-24 6:25 [PATCH] fstests: btrfs, add missing umount for raid5 tests 124 and 125 fdmanana @ 2016-12-02 1:14 ` Anand Jain 2016-12-02 10:54 ` Filipe Manana 0 siblings, 1 reply; 4+ messages in thread From: Anand Jain @ 2016-12-02 1:14 UTC (permalink / raw) To: fdmanana, fstests; +Cc: linux-btrfs, Filipe Manana Hi, I didn't add umount at end of the test because... _check_btrfs_filesystem() does it, which gets called as this test does not specify _require_scratch_nocheck ---------------- _check_btrfs_filesystem() { device=$1 # If type is set, we're mounted type=`_fs_type $device` ok=1 if [ "$type" = "$FSTYP" ] then # mounted ... mountpoint=`_umount_or_remount_ro $device` <---- fi btrfsck $device >$tmp.fsck 2>&1 ---------------- I faced the similar problem on some other tests and I found adding the delay is the right approach. for eg: -------------------------- diff --git a/tests/generic/298 b/tests/generic/298 index e85db1266fa9..4092efa6b961 100755 --- a/tests/generic/298 +++ b/tests/generic/298 @@ -92,7 +92,7 @@ echo "reflink of $n bytes took $delta seconds" >> $seqres.full test $delta -gt $timeout && _fail "reflink didn't stop in time, n=$n t=$delta" echo "Check scratch fs" -sleep 2 # give it a few seconds to actually die... +sleep 40 # give it a few seconds to actually die... # success, all done status=0 -------------------------- HTH -Anand On 11/24/16 14:25, fdmanana@kernel.org wrote: > From: Filipe Manana <fdmanana@suse.com> > > The tests mount the second device in the device pool but never unmount > it, causing the next test to fail. > > Example: > > $ cat local.config > export TEST_DEV=/dev/sdb > export TEST_DIR=/home/fdmanana/btrfs-tests/dev > export SCRATCH_MNT="/home/fdmanana/btrfs-tests/scratch_1" > export SCRATCH_DEV_POOL="/dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg" > export FSTYP=btrfs > > $ ./check btrfs/125 btrfs/126 > FSTYP -- btrfs > PLATFORM -- Linux/x86_64 debian3 4.8.0-rc8-btrfs-next-35+ > MKFS_OPTIONS -- /dev/sdc > MOUNT_OPTIONS -- /dev/sdc /home/fdmanana/btrfs-tests/scratch_1 > > btrfs/125 23s ... 22s > btrfs/126 1s ... - output mismatch (see /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad) > --- tests/btrfs/126.out 2016-11-24 06:11:42.048372385 +0000 > +++ /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad 2016-11-24 06:16:35.987988895 +0000 > @@ -1,2 +1,5 @@ > QA output created by 126 > -pwrite: Disk quota exceeded > +ERROR: /dev/sdc is mounted > +mount: /dev/sdc is already mounted or /home/fdmanana/btrfs-tests/scratch_1 busy > + /dev/sdc is already mounted on /home/fdmanana/btrfs-tests/scratch_1 > +/home/fdmanana/btrfs-tests/scratch_1/test_file: Disk quota exceeded > ... > (Run 'diff -u tests/btrfs/126.out /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad' to see the entire diff) > Ran: btrfs/125 btrfs/126 > Failures: btrfs/126 > Failed 1 of 2 tests > > So just make sure those test unmount the device before they finish. > > Signed-off-by: Filipe Manana <fdmanana@suse.com> > --- > tests/btrfs/124 | 1 + > tests/btrfs/125 | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/tests/btrfs/124 b/tests/btrfs/124 > index 2618a26..7206094 100755 > --- a/tests/btrfs/124 > +++ b/tests/btrfs/124 > @@ -159,6 +159,7 @@ if [ "$checkpoint1" != "$checkpoint3" ]; then > echo "Inital sum does not match with data on dev2 written by balance" > fi > > +$UMOUNT_PROG $dev2 > _scratch_dev_pool_put > _test_mount > > diff --git a/tests/btrfs/125 b/tests/btrfs/125 > index 1062b87..91aa8d8 100755 > --- a/tests/btrfs/125 > +++ b/tests/btrfs/125 > @@ -175,6 +175,7 @@ if [ "$checkpoint1" != "$checkpoint3" ]; then > echo "Inital sum does not match with data on dev2 written by balance" > fi > > +$UMOUNT_PROG $dev2 > _scratch_dev_pool_put > _test_mount > > ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] fstests: btrfs, add missing umount for raid5 tests 124 and 125 2016-12-02 1:14 ` Anand Jain @ 2016-12-02 10:54 ` Filipe Manana 2016-12-02 11:56 ` Anand Jain 0 siblings, 1 reply; 4+ messages in thread From: Filipe Manana @ 2016-12-02 10:54 UTC (permalink / raw) To: Anand Jain; +Cc: fstests, linux-btrfs@vger.kernel.org, Filipe Manana On Fri, Dec 2, 2016 at 1:14 AM, Anand Jain <anand.jain@oracle.com> wrote: > > Hi, > > I didn't add umount at end of the test because... > _check_btrfs_filesystem() does it, which gets called as this test does not Nop it doesn't. See common/check: _check_filesystems() { if [ -f ${RESULT_DIR}/require_test ]; then _check_test_fs || err=true rm -f ${RESULT_DIR}/require_test fi if [ -f ${RESULT_DIR}/require_scratch ]; then _check_scratch_fs || err=true rm -f ${RESULT_DIR}/require_scratch fi } Those files are created by the _require_scratch and _require_test functions, which are not called by btrfs/12[45]. > specify _require_scratch_nocheck > > ---------------- > _check_btrfs_filesystem() > { > device=$1 > > # If type is set, we're mounted > type=`_fs_type $device` > ok=1 > > if [ "$type" = "$FSTYP" ] > then > # mounted ... > mountpoint=`_umount_or_remount_ro $device` <---- > fi > > btrfsck $device >$tmp.fsck 2>&1 > ---------------- > > > I faced the similar problem on some other tests and I found > adding the delay is the right approach. for eg: > > -------------------------- > diff --git a/tests/generic/298 b/tests/generic/298 > index e85db1266fa9..4092efa6b961 100755 > --- a/tests/generic/298 > +++ b/tests/generic/298 > @@ -92,7 +92,7 @@ echo "reflink of $n bytes took $delta seconds" >> > $seqres.full > test $delta -gt $timeout && _fail "reflink didn't stop in time, n=$n > t=$delta" > > echo "Check scratch fs" > -sleep 2 # give it a few seconds to actually die... > +sleep 40 # give it a few seconds to actually die... That might work for that test, but certainly not for btrfs/12[45] as mentioned above. Besides, that's a terrible solution. What guarantees you have that 40 seconds is enough for everyone... thanks > > # success, all done > status=0 > -------------------------- > > > HTH > -Anand > > > > > On 11/24/16 14:25, fdmanana@kernel.org wrote: >> >> From: Filipe Manana <fdmanana@suse.com> >> >> The tests mount the second device in the device pool but never unmount >> it, causing the next test to fail. >> >> Example: >> >> $ cat local.config >> export TEST_DEV=/dev/sdb >> export TEST_DIR=/home/fdmanana/btrfs-tests/dev >> export SCRATCH_MNT="/home/fdmanana/btrfs-tests/scratch_1" >> export SCRATCH_DEV_POOL="/dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg" >> export FSTYP=btrfs >> >> $ ./check btrfs/125 btrfs/126 >> FSTYP -- btrfs >> PLATFORM -- Linux/x86_64 debian3 4.8.0-rc8-btrfs-next-35+ >> MKFS_OPTIONS -- /dev/sdc >> MOUNT_OPTIONS -- /dev/sdc /home/fdmanana/btrfs-tests/scratch_1 >> >> btrfs/125 23s ... 22s >> btrfs/126 1s ... - output mismatch (see >> /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad) >> --- tests/btrfs/126.out 2016-11-24 06:11:42.048372385 +0000 >> +++ /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad >> 2016-11-24 06:16:35.987988895 +0000 >> @@ -1,2 +1,5 @@ >> QA output created by 126 >> -pwrite: Disk quota exceeded >> +ERROR: /dev/sdc is mounted >> +mount: /dev/sdc is already mounted or >> /home/fdmanana/btrfs-tests/scratch_1 busy >> + /dev/sdc is already mounted on >> /home/fdmanana/btrfs-tests/scratch_1 >> +/home/fdmanana/btrfs-tests/scratch_1/test_file: Disk quota exceeded >> ... >> (Run 'diff -u tests/btrfs/126.out >> /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad' to see the >> entire diff) >> Ran: btrfs/125 btrfs/126 >> Failures: btrfs/126 >> Failed 1 of 2 tests >> >> So just make sure those test unmount the device before they finish. >> >> Signed-off-by: Filipe Manana <fdmanana@suse.com> >> --- >> tests/btrfs/124 | 1 + >> tests/btrfs/125 | 1 + >> 2 files changed, 2 insertions(+) >> >> diff --git a/tests/btrfs/124 b/tests/btrfs/124 >> index 2618a26..7206094 100755 >> --- a/tests/btrfs/124 >> +++ b/tests/btrfs/124 >> @@ -159,6 +159,7 @@ if [ "$checkpoint1" != "$checkpoint3" ]; then >> echo "Inital sum does not match with data on dev2 written by >> balance" >> fi >> >> +$UMOUNT_PROG $dev2 >> _scratch_dev_pool_put >> _test_mount >> >> diff --git a/tests/btrfs/125 b/tests/btrfs/125 >> index 1062b87..91aa8d8 100755 >> --- a/tests/btrfs/125 >> +++ b/tests/btrfs/125 >> @@ -175,6 +175,7 @@ if [ "$checkpoint1" != "$checkpoint3" ]; then >> echo "Inital sum does not match with data on dev2 written by >> balance" >> fi >> >> +$UMOUNT_PROG $dev2 >> _scratch_dev_pool_put >> _test_mount >> >> > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] fstests: btrfs, add missing umount for raid5 tests 124 and 125 2016-12-02 10:54 ` Filipe Manana @ 2016-12-02 11:56 ` Anand Jain 0 siblings, 0 replies; 4+ messages in thread From: Anand Jain @ 2016-12-02 11:56 UTC (permalink / raw) To: Filipe Manana; +Cc: fstests, linux-btrfs@vger.kernel.org, Filipe Manana On 12/02/16 18:54, Filipe Manana wrote: > On Fri, Dec 2, 2016 at 1:14 AM, Anand Jain <anand.jain@oracle.com> wrote: >> >> Hi, >> >> I didn't add umount at end of the test because... >> _check_btrfs_filesystem() does it, which gets called as this test does not > > Nop it doesn't. > > See common/check: > > _check_filesystems() > { > if [ -f ${RESULT_DIR}/require_test ]; then > _check_test_fs || err=true > rm -f ${RESULT_DIR}/require_test > fi > if [ -f ${RESULT_DIR}/require_scratch ]; then > _check_scratch_fs || err=true > rm -f ${RESULT_DIR}/require_scratch > fi > } > > Those files are created by the _require_scratch and _require_test > functions, which are not called by btrfs/12[45]. > Ah yes. you are right. >> specify _require_scratch_nocheck >> >> ---------------- >> _check_btrfs_filesystem() >> { >> device=$1 >> >> # If type is set, we're mounted >> type=`_fs_type $device` >> ok=1 >> >> if [ "$type" = "$FSTYP" ] >> then >> # mounted ... >> mountpoint=`_umount_or_remount_ro $device` <---- >> fi >> >> btrfsck $device >$tmp.fsck 2>&1 >> ---------------- >> >> >> I faced the similar problem on some other tests and I found >> adding the delay is the right approach. for eg: >> >> -------------------------- >> diff --git a/tests/generic/298 b/tests/generic/298 >> index e85db1266fa9..4092efa6b961 100755 >> --- a/tests/generic/298 >> +++ b/tests/generic/298 >> @@ -92,7 +92,7 @@ echo "reflink of $n bytes took $delta seconds" >> >> $seqres.full >> test $delta -gt $timeout && _fail "reflink didn't stop in time, n=$n >> t=$delta" >> >> echo "Check scratch fs" >> -sleep 2 # give it a few seconds to actually die... >> +sleep 40 # give it a few seconds to actually die... > > > That might work for that test, but certainly not for btrfs/12[45] as > mentioned above. > Besides, that's a terrible solution. What guarantees you have that 40 > seconds is enough for everyone... yep. I agree. thanks, Anand > thanks > >> >> # success, all done >> status=0 >> -------------------------- >> >> >> HTH >> -Anand >> >> >> >> >> On 11/24/16 14:25, fdmanana@kernel.org wrote: >>> >>> From: Filipe Manana <fdmanana@suse.com> >>> >>> The tests mount the second device in the device pool but never unmount >>> it, causing the next test to fail. >>> >>> Example: >>> >>> $ cat local.config >>> export TEST_DEV=/dev/sdb >>> export TEST_DIR=/home/fdmanana/btrfs-tests/dev >>> export SCRATCH_MNT="/home/fdmanana/btrfs-tests/scratch_1" >>> export SCRATCH_DEV_POOL="/dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg" >>> export FSTYP=btrfs >>> >>> $ ./check btrfs/125 btrfs/126 >>> FSTYP -- btrfs >>> PLATFORM -- Linux/x86_64 debian3 4.8.0-rc8-btrfs-next-35+ >>> MKFS_OPTIONS -- /dev/sdc >>> MOUNT_OPTIONS -- /dev/sdc /home/fdmanana/btrfs-tests/scratch_1 >>> >>> btrfs/125 23s ... 22s >>> btrfs/126 1s ... - output mismatch (see >>> /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad) >>> --- tests/btrfs/126.out 2016-11-24 06:11:42.048372385 +0000 >>> +++ /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad >>> 2016-11-24 06:16:35.987988895 +0000 >>> @@ -1,2 +1,5 @@ >>> QA output created by 126 >>> -pwrite: Disk quota exceeded >>> +ERROR: /dev/sdc is mounted >>> +mount: /dev/sdc is already mounted or >>> /home/fdmanana/btrfs-tests/scratch_1 busy >>> + /dev/sdc is already mounted on >>> /home/fdmanana/btrfs-tests/scratch_1 >>> +/home/fdmanana/btrfs-tests/scratch_1/test_file: Disk quota exceeded >>> ... >>> (Run 'diff -u tests/btrfs/126.out >>> /home/fdmanana/git/hub/xfstests/results//btrfs/126.out.bad' to see the >>> entire diff) >>> Ran: btrfs/125 btrfs/126 >>> Failures: btrfs/126 >>> Failed 1 of 2 tests >>> >>> So just make sure those test unmount the device before they finish. >>> >>> Signed-off-by: Filipe Manana <fdmanana@suse.com> >>> --- >>> tests/btrfs/124 | 1 + >>> tests/btrfs/125 | 1 + >>> 2 files changed, 2 insertions(+) >>> >>> diff --git a/tests/btrfs/124 b/tests/btrfs/124 >>> index 2618a26..7206094 100755 >>> --- a/tests/btrfs/124 >>> +++ b/tests/btrfs/124 >>> @@ -159,6 +159,7 @@ if [ "$checkpoint1" != "$checkpoint3" ]; then >>> echo "Inital sum does not match with data on dev2 written by >>> balance" >>> fi >>> >>> +$UMOUNT_PROG $dev2 >>> _scratch_dev_pool_put >>> _test_mount >>> >>> diff --git a/tests/btrfs/125 b/tests/btrfs/125 >>> index 1062b87..91aa8d8 100755 >>> --- a/tests/btrfs/125 >>> +++ b/tests/btrfs/125 >>> @@ -175,6 +175,7 @@ if [ "$checkpoint1" != "$checkpoint3" ]; then >>> echo "Inital sum does not match with data on dev2 written by >>> balance" >>> fi >>> >>> +$UMOUNT_PROG $dev2 >>> _scratch_dev_pool_put >>> _test_mount >>> >>> >> > -- > 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 > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-12-02 11:54 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-11-24 6:25 [PATCH] fstests: btrfs, add missing umount for raid5 tests 124 and 125 fdmanana 2016-12-02 1:14 ` Anand Jain 2016-12-02 10:54 ` Filipe Manana 2016-12-02 11:56 ` Anand Jain
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox