[Top] [All Lists]

[PATCH] xfstests: fix _mount_ops_filter() to support $TEST_DIR containin

To: xfs@xxxxxxxxxxx
Subject: [PATCH] xfstests: fix _mount_ops_filter() to support $TEST_DIR containing -o
From: Koen De Wit <koen.de.wit@xxxxxxxxxx>
Date: Tue, 2 Jul 2013 23:44:57 +0200
Cc: Koen De Wit <koen.de.wit@xxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
If multiple mount options are given with multiple -o parameters,
_mount_ops_filter concatenates them by replacing all -o's with a comma
(except for the first -o).

If $TEST_DIR contains "-o" (e.g. /mnt/test-os/) you get errors like this:

   # ./check generic/002
     mount: mount point /mnt/test,s/ does not exist
     common/rc: retrying test device mount with external set
     mount: mount point /mnt/test,s/ does not exist
     common/rc: could not mount /dev/sdc3 on /mnt/test-os/

Fix it by only replacing -o's that are preceded by at least one space.

Signed-off-by: Koen De Wit <koen.de.wit@xxxxxxxxxx>
 common/rc |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/common/rc b/common/rc
index fe6bbfc..2a3c040 100644
--- a/common/rc
+++ b/common/rc
@@ -260,7 +260,7 @@ _mount_ops_filter()
     # the sed script replaces all -o's (except the first) with a comma
     # not required for linux, but won't hurt
-    echo $params | sed -e 's/[[:space:]]*-o[[:space:]]*/UnIqUe/1; 
s/[[:space:]]*-o[[:space:]]*/,/g; s/UnIqUe/ -o /1' \
+    echo $params | sed -e 's/[[:space:]]\+-o[[:space:]]*/UnIqUe/1; 
s/[[:space:]]\+-o[[:space:]]*/,/g; s/UnIqUe/ -o /1' \
         | sed -e 's/dmapi/dmi/' \
         | $PERL_PROG -ne "s#mtpt=[^,|^\n|^\s]*#mtpt=$FS_ESCAPED\1\2#; print;"

<Prev in Thread] Current Thread [Next in Thread>