Message ID | 20161215071931.31651-1-eguan@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Dec 15, 2016 at 9:19 AM, Eryu Guan <eguan@redhat.com> wrote: > 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> > --- > common/rc | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/common/rc b/common/rc > index 26d715d..6fcab17 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"` Are you sure? A manual test I did -F treats ^ as regular char in string and fails to grep the entry How about 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"` > if [ "$mount_rec" ] > then > # if it's mounted, make sure its on $TEST_DIR > -- > 2.9.3 > > -- > To unsubscribe from this list: send the line "unsubscribe fstests" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Dec 15, 2016 at 09:54:07AM +0200, Amir Goldstein wrote: > On Thu, Dec 15, 2016 at 9:19 AM, Eryu Guan <eguan@redhat.com> wrote: > > 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> > > --- > > common/rc | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/common/rc b/common/rc > > index 26d715d..6fcab17 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"` > > Are you sure? > A manual test I did -F treats ^ as regular char in string and fails to > grep the entry What have I done.. I really need some good rest. > > How about grep -F "$SCRATCH_DEV on "` ? Will revise. Thanks for the review! Eryu > > > > 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"` > > if [ "$mount_rec" ] > > then > > # if it's mounted, make sure its on $TEST_DIR > > -- > > 2.9.3 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe fstests" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/common/rc b/common/rc index 26d715d..6fcab17 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"` 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"` if [ "$mount_rec" ] then # if it's mounted, make sure its on $TEST_DIR
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> --- common/rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)