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@xxxxxxxxx> --- Eryu, Here's the formal patch you requested. Tested it with: kvm-xfstests -c overlay/large -g quick Where kvm-xfstests uses new overlay config, see: github.com/amir73il/xfstests-bld/commits/overlayfs-devel v2: - Remove the 'else' case in filters v1: - Add \B to pattern match common/filter | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/common/filter b/common/filter index 1ceb346..5fd71a8 100644 --- a/common/filter +++ b/common/filter @@ -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 -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html