filter: match $TEST_* $SCRATCH_* in beginning of path string

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>
This commit is contained in:
Amir Goldstein
2017-03-10 09:39:56 +02:00
committed by Eryu Guan
parent 5e6892dd8b
commit 6b825e018e
+9 -22
View 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