filter: match $TEST_* $SCRATCH_* in beginning of path string
authorAmir Goldstein <amir73il@gmail.com>
Fri, 10 Mar 2017 07:39:56 +0000 (09:39 +0200)
committerEryu Guan <eguan@redhat.com>
Fri, 10 Mar 2017 08:54:20 +0000 (16:54 +0800)
For example, if $TEST_DIR=/mnt, only replace instances of /mnt that
are in the beginning of a path string, e.g.:

"/mnt/mntA/mntB:/mnt/mntC" => "TEST_DIR/mntA/mntB:TEST_DIR/mntC"

With this change, there is no longer a need to check the case of
$TEST_DEV being a substring of $TEST_DIR, because that would mean
that $TEST_DIR is a prefix of $TEST_DIR and that is not possible.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
common/filter

index 1ceb3464da38772ab65a8a819f5c6efa81e91991..5fd71a887a77b61beba8ffcfdb93614dc332e1bc 100644 (file)
@@ -280,32 +280,19 @@ _filter_xfs_io_pages_modified()
 
 _filter_test_dir()
 {
-       if ( echo $TEST_DIR | grep -q $TEST_DEV ); then
-               # TEST_DEV is substr of TEST_DIR (e.g. /mnt and /mnt/ovl-mnt)
-               # substitute TEST_DIR first
-               sed -e "s,$TEST_DIR,TEST_DIR,g" \
-                   -e "s,$TEST_DEV,TEST_DEV,g"
-       else
-               # TEST_DIR maybe a substr of TEST_DIR (e.g. /vdc and /dev/vdc)
-               # substitute TEST_DEV first
-               sed -e "s,$TEST_DEV,TEST_DEV,g" \
-                   -e "s,$TEST_DIR,TEST_DIR,g"
-       fi
+       # TEST_DEV may be a prefix of TEST_DIR (e.g. /mnt, /mnt/ovl-mnt)
+       # so substitute TEST_DIR first
+       sed -e "s,\B$TEST_DIR,TEST_DIR,g" \
+           -e "s,\B$TEST_DEV,TEST_DEV,g"
 }
 
 _filter_scratch()
 {
-       if ( echo $SCRATCH_MNT | grep -q $SCRATCH_DEV ); then
-               # SCRATCH_DEV is substr of SCRATCH_MNT
-               sed -e "s,$SCRATCH_MNT,SCRATCH_MNT,g" \
-                   -e "s,$SCRATCH_DEV,SCRATCH_DEV,g" \
-                   -e "/.use_space/d"
-       else
-               # SCRATCH_MNT maybe a substr of SCRATCH_DEV
-               sed -e "s,$SCRATCH_DEV,SCRATCH_DEV,g" \
-                   -e "s,$SCRATCH_MNT,SCRATCH_MNT,g" \
-                   -e "/.use_space/d"
-       fi
+       # SCRATCH_DEV may be a prefix of SCRATCH_MNT (e.g. /mnt, /mnt/ovl-mnt)
+       # so substitute SCRATCH_MNT first
+       sed -e "s,\B$SCRATCH_MNT,SCRATCH_MNT,g" \
+           -e "s,\B$SCRATCH_DEV,SCRATCH_DEV,g" \
+           -e "/.use_space/d"
 }
 
 # Turn any device in the scratch pool into SCRATCH_DEV