Thread (4 messages) 4 messages, 3 authors, 2016-08-19

Re: [PATCH 1/2] btrfs/131: test for umount of read-only fs when quota rescan is paused

From: Jeff Mahoney <hidden>
Date: 2016-08-19 19:34:14
Also in: fstests

On 8/17/16 4:45 AM, Eryu Guan wrote:
On Tue, Aug 16, 2016 at 02:30:21PM -0400, Jeff Mahoney wrote:
quoted
+_require_btrfs
+BTRFS_DEBUG_TREE_PROG="`set_prog_path btrfs-debug-tree`"
+_require_command "$BTRFS_DEBUG_TREE_PROG" btrfs-debug-tree
+TIMEOUT_PROG="`set_prog_path timeout`"
+_require_command "$TIMEOUT_PROG" timeout
The "set_prog_path" calls belong to common/config, we only need
"_require_command" calls in test.
Ok, then we should probably fix up the existing cases that do this in
tests/ since this and the cp /lib/modules thing were copied from other
test cases in the repo.
quoted
+
+rm -f $seqres.full
+_scratch_mkfs >>$seqres.full 2>&1
+
+_scratch_mount
+cp -aR /lib/modules/$(uname -r) $SCRATCH_MNT
Consider populating the filesystem using _populate_fs or fsstress?
Same.
quoted
+
+# A qgroup rescan on an empty or small file system completes nearly
+# immediately.  We need to ensure that it runs long enough that it will
+# be paused on umount.  Snapshots slow down the rescan so we should see
+# the race without a lot of data.  This is an arbitrary number that
+# works on a ramdisk so it should be sufficient for any storage.
+for n in $(seq 1 100); do
+  _run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/$n
Use tab for indention.
Ok.
quoted
+done
+_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_scratch_unmount
+
+echo "read-write umount completed"
+
+# Confirm that the rescan is paused
+if ! $BTRFS_DEBUG_TREE_PROG $SCRATCH_DEV | \
+	egrep -q 'flags ON|SCANNING|INCONSISTENT scan'; then
+	echo "qgroup rescan not paused."
+fi
+_scratch_mount -r
+
+# If the bug exists, this will hang.  If we can kill it, that's another bug.
+$TIMEOUT_PROG 10 umount $SCRATCH_MNT
+if test $? -eq 124 ; then
+    echo "umount hung but was killed"
I see this log with 4.8-rc1 kernel, is that expected?
Yes, the patch was posted this week and hasn't landed yet.

Thanks,

-Jeff

-- 
Jeff Mahoney
SUSE Labs

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help