Skip to contentSkip to conversation

fstests: fix btrfs test failures after commit 27d077ec0bda

PATCH New [email protected] 1 participant 1 message Jan 11, 2016 Btrfs file system

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 fstests: fix btrfs test failures after commit 27d077ec0bda

From: Filipe Manana <[email protected]>

Commit 27d077ec0bda (common: use mount/umount helpers everywhere) made a few btrfs tests fail (btrfs/003 and btrfs/011). These tests create filesystems with multiple devices and test the device replace feature, which need to unmount using the mount path ($SCRATCH_MNT) because unmounting using one of the devices as an argument ($SCRATCH_DEV) does not always work - after replace operations we get in /proc/mounts a device other than $SCRATCH_DEV associated with the mount point $SCRATCH_MNT (this is mentioned in a comment at btrfs/011 for example), so we need to pass that other device to the umount program or pass it the mount point.
Fix this by making _sctatch_unmount() pass $SCRATCH_MNT to umount instead of $SCRATCH_DEV (when the filesystem being tested is btrfs).

---

V2: Change _sctatch_unmount() to pass $SCRATCH_MNT as the argument to the
umount program instead of $SCRATCH_DEV. This makes the btrfs tests pass again.

V3: Pass $SCRATCH_MNT to the umount program instead of $SCRATCH_DEV only
if the filesystem being tested is btrfs. This was making generic/050 fail (which I couldn't test using btrfs because btrfs does not have the shutdown feature unlike xfs for e.g.).

 common/rc | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
common/rc +9 -3
index 5135260..cbf1854 100644
@@ -316,11 +316,17 @@ _scratch_mount()
 
 _scratch_unmount()
 {
-	if [ "$FSTYP" == "overlay" ]; then
+	case "$FSTYP" in
+	overlay)
 		_overlay_scratch_unmount
-	else
+		;;
+	btrfs)
+		$UMOUNT_PROG $SCRATCH_MNT
+		;;
+	*)
 		$UMOUNT_PROG $SCRATCH_DEV
-	fi
+		;;
+	esac
 }
 
 _scratch_remount()
Signature · 1 line
2.1.3