diff mbox

[v2] common/rc: fix detection of already mounted test device

Message ID 20161215090158.4466-1-eguan@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Eryu Guan Dec. 15, 2016, 9:01 a.m. UTC
I saw this failure in overlayfs testing:

+$SCRATCH_DEV=/mnt/ovl/scratch is mounted but not on $SCRATCH_MNT=/mnt/xfstests/mnt2 - aborting
+Already mounted result:
+/dev/sda5 on /mnt/ovl/scratch type xfs (rw,relatime,seclabel,attr2,inode64,logbsize=256k,sunit=512,swidth=1536,noquota)

Because we grep for TEST_DEV and SCRATCH_DEV in mount output to see
if test device is already mounted, and report failure if device is
not mounted at desired mount point, but in the case of overlayfs
testing these "test device"s are directories and may have other real
devices mounted there.

Fix it by checking TEST_DEV and SCRATCH_DEV at the beginning of
mount entries.

Signed-off-by: Eryu Guan <eguan@redhat.com>
---

v2: fix bug that regexp not working in grep -F

 common/rc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/common/rc b/common/rc
index 26d715d..e960607 100644
--- a/common/rc
+++ b/common/rc
@@ -1363,7 +1363,7 @@  _require_scratch_nocheck()
     # mounted?
     # Note that we use -F here so grep doesn't try to interpret an NFS over
     # IPv6 server as a regular expression.
-    mount_rec=`_mount | grep -F $SCRATCH_DEV`
+    mount_rec=`_mount | grep -F "$SCRATCH_DEV on "`
     if [ "$mount_rec" ]
     then
         # if it's mounted, make sure its on $SCRATCH_MNT
@@ -1448,7 +1448,7 @@  _require_test()
     # mounted?
     # Note that we use -F here so grep doesn't try to interpret an NFS over
     # IPv6 server as a regular expression.
-    mount_rec=`_mount | grep -F $TEST_DEV`
+    mount_rec=`_mount | grep -F "$TEST_DEV on "`
     if [ "$mount_rec" ]
     then
         # if it's mounted, make sure its on $TEST_DIR