Whamcloud - gitweb
EX-2659 tests: allow multiple MDTs in sanity-lipe.sh
authorJian Yu <yujian@whamcloud.com>
Tue, 28 Sep 2021 18:45:13 +0000 (11:45 -0700)
committerJohn L. Hammond <jhammond@whamcloud.com>
Mon, 29 Nov 2021 19:25:21 +0000 (19:25 +0000)
This patch improves sanity-lipe.sh to support
multiple MDTs.

Test-Parameters: trivial testlist=sanity-lipe
Test-Parameters: trivial testlist=sanity-lipe facet=mds1
Test-Parameters: trivial mdscount=2 mdtcount=4 \
testlist=sanity-lipe

Test-Parameters: trivial env=LIPE_FIND=lipe_find2 \
testlist=sanity-lipe
Test-Parameters: trivial env=LIPE_FIND=lipe_find2 \
testlist=sanity-lipe facet=mds1
Test-Parameters: trivial env=LIPE_FIND=lipe_find2 \
mdscount=2 mdtcount=4 testlist=sanity-lipe

Change-Id: I9db6f01e810e8c40e419dcfad409741a3334687c
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/44588
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
lustre/tests/sanity-lipe.sh

index 20f706f..e3e2a23 100644 (file)
@@ -18,8 +18,6 @@ init_logging
 ALWAYS_EXCEPT="$SANITY_LIPE_EXCEPT "
 # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
 
-# FIXME to support DNE
-(( MDSCOUNT == 1 )) || skip_env "need 1 MDT"
 (( OSTCOUNT >= 2 )) || skip_env "need at least 2 OSTs"
 
 [[ $(facet_fstype mds1) = ldiskfs ]] || skip_env "need ldiskfs on MDS"
@@ -59,6 +57,26 @@ if [[ -n $LIPE_MDS_NODE ]]; then
        stack_trap "zconf_umount_clients $LIPE_MDS_NODE $MOUNT"
 fi
 
+# choose a random MDS and return its facet
+lipe_get_random_mds() {
+       (( MDSCOUNT != 1 )) || { echo -n mds1; return; }
+       echo -n $(get_random_entry $(get_facets MDS))
+}
+
+# if the test suite was run on an MDS, then return the MDS facet
+lipe_get_local_mds() {
+       local facet
+       local facets
+
+       facets=$(get_facets MDS)
+       for facet in ${facets//,/ }; do
+               if local_node $(facet_active_host $facet); then
+                       echo -n $facet
+                       return
+               fi
+       done
+}
+
 # create OST pools
 create_ost_pools() {
        pool_add $LIPE_POOL1 || error "failed to create OST pool '$LIPE_POOL1'"
@@ -144,9 +162,6 @@ create_regular_files() {
        local file="$1"
        [[ -n "$file" ]] || error "file was not specified"
 
-       # create OST pools
-       [[ -z "$pool" ]] || create_ost_pools
-
        # create a regular file
        cmd="$LFS setstripe -c -1 -i -1 -S 4M ${pool:+-p $LIPE_POOL1 }$file.1"
        echo $cmd
@@ -244,18 +259,20 @@ expect_file() {
 }
 
 lipe_find_expect_file() {
-       local file="$1"
-       local which="$2"
+       local facet="$1"
+       local file="$2"
+       local which="$3"
 
-       do_lipe_find_facet mds1 $PRINT_FID_OPT "${@:3}" |
+       do_lipe_find_facet $facet $PRINT_FID_OPT "${@:4}" |
                expect_file "$file" "$which"
 }
 
 lipe_find_expect_fid() {
-       local fid="$1"
-       local which="$2"
+       local facet="$1"
+       local fid="$2"
+       local which="$3"
 
-       do_lipe_find_facet mds1 $PRINT_FID_OPT "${@:3}" |
+       do_lipe_find_facet $facet $PRINT_FID_OPT "${@:4}" |
                expect_fid "$fid" "$which"
 }
 
@@ -281,140 +298,163 @@ lipe_find_max_stripe_size() {
        echo -n $max_stripe_size
 }
 
+LIPE_MDS_FACET=""
+(( MDSCOUNT == 1 )) && LIPE_MDS_FACET=mds1 ||
+       LIPE_MDS_FACET=$(lipe_get_local_mds)
+[[ -n $LIPE_MDS_FACET ]] ||
+       echo "No local MDS. Each test will be run on a random MDS."
+
 # lipe_find test cases
 test_1() {
-       do_lipe_find_facet mds1 $PRINT_FID_OPT || error "cannot run lipe_find"
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+
+       do_lipe_find_facet $facet $PRINT_FID_OPT ||
+               error "cannot run lipe_find on $facet"
 }
 run_test 1 "lipe_find works"
 
 test_2() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
 
-       mkdir $td || error "mkdir '$td' failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        touch $tf || error "touch '$tf' failed"
 
-       lipe_find_expect_file $td
-       lipe_find_expect_file $tf
+       lipe_find_expect_file $facet $td
+       lipe_find_expect_file $facet $tf
 }
 run_test 2 "lipe_find finds dir and file"
 
 test_3_sub() {
-       local path="$1"
+       local facet="$1"
+       local path="$2"
        local fid
 
        fid=$($LFS path2fid "$path" | tr -d '[]')
        [[ -n "$fid" ]] || error "cannot get FID of '$path'"
 
-       lipe_find_expect_fid $fid true "-fid $fid"
-       lipe_find_expect_fid $fid true "-expr 'fid_match(\\\"$fid\\\")'"
-       lipe_find_expect_fid $fid true "-fid '*'"
-       lipe_find_expect_fid $fid true "-fid '*${fid:3}'"
-       lipe_find_expect_fid $fid true "-fid '${fid%:*}*'"
-       lipe_find_expect_fid $fid true "-fid '*${fid:3:12}*'"
-       lipe_find_expect_fid $fid false "-fid X$fid"
-       lipe_find_expect_fid $fid false "-fid ${fid}X"
+       lipe_find_expect_fid $facet $fid true "-fid $fid"
+       lipe_find_expect_fid $facet $fid true "-expr 'fid_match(\\\"$fid\\\")'"
+       lipe_find_expect_fid $facet $fid true "-fid '*'"
+       lipe_find_expect_fid $facet $fid true "-fid '*${fid:3}'"
+       lipe_find_expect_fid $facet $fid true "-fid '${fid%:*}*'"
+       lipe_find_expect_fid $facet $fid true "-fid '*${fid:3:12}*'"
+       lipe_find_expect_fid $facet $fid false "-fid X$fid"
+       lipe_find_expect_fid $facet $fid false "-fid ${fid}X"
 }
 
 test_3() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_3_sub $td
+       test_3_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_3_sub $td/$file
+               test_3_sub $facet $td/$file
        done
 }
 run_test 3 "lipe_find -fid works"
 
 test_4_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local name=$(basename $file)
 
        # -name is the same with -iname except the match is case sensitive
-       lipe_find_expect_file $file true "-name $name"
-       lipe_find_expect_file $file true "-expr 'fname_match(\\\"$name\\\")'"
-       lipe_find_expect_file $file false "-name ${name^^}"
-       lipe_find_expect_file $file false "-name ${name^}"
-       lipe_find_expect_file $file true "-name '*'"
-       lipe_find_expect_file $file false "! -name $name"
-       lipe_find_expect_file $file true "! -name ${name^^}"
-       lipe_find_expect_file $file true "! -name ${name^}"
-       lipe_find_expect_file $file false "! -name '*'"
+       lipe_find_expect_file $facet $file true "-name $name"
+       lipe_find_expect_file $facet $file true \
+               "-expr 'fname_match(\\\"$name\\\")'"
+       lipe_find_expect_file $facet $file false "-name ${name^^}"
+       lipe_find_expect_file $facet $file false "-name ${name^}"
+       lipe_find_expect_file $facet $file true "-name '*'"
+       lipe_find_expect_file $facet $file false "! -name $name"
+       lipe_find_expect_file $facet $file true "! -name ${name^^}"
+       lipe_find_expect_file $facet $file true "! -name ${name^}"
+       lipe_find_expect_file $facet $file false "! -name '*'"
 
        # -iname is the same with -name except the match is case insensitive
-       lipe_find_expect_file $file true "-iname $name"
-       lipe_find_expect_file $file true "-expr 'fname_imatch(\\\"$name\\\")'"
-       lipe_find_expect_file $file true "-iname ${name^^}"
-       lipe_find_expect_file $file true \
+       lipe_find_expect_file $facet $file true "-iname $name"
+       lipe_find_expect_file $facet $file true \
+               "-expr 'fname_imatch(\\\"$name\\\")'"
+       lipe_find_expect_file $facet $file true "-iname ${name^^}"
+       lipe_find_expect_file $facet $file true \
                "-expr 'fname_imatch(\\\"${name^^}\\\")'"
-       lipe_find_expect_file $file true "-iname ${name^}"
-       lipe_find_expect_file $file true "-iname '*'"
-       lipe_find_expect_file $file false "! -iname $name"
-       lipe_find_expect_file $file false "! -iname ${name^^}"
-       lipe_find_expect_file $file false "! -iname ${name^}"
-       lipe_find_expect_file $file false "! -iname '*'"
+       lipe_find_expect_file $facet $file true "-iname ${name^}"
+       lipe_find_expect_file $facet $file true "-iname '*'"
+       lipe_find_expect_file $facet $file false "! -iname $name"
+       lipe_find_expect_file $facet $file false "! -iname ${name^^}"
+       lipe_find_expect_file $facet $file false "! -iname ${name^}"
+       lipe_find_expect_file $facet $file false "! -iname '*'"
 }
 
 test_4() {
        local td=$DIR/$tdir
        local tf=$td/${tfile//-/_}
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_4_sub $td/$file
+               test_4_sub $facet $td/$file
        done
 }
 run_test 4 "lipe_find -name and -iname works"
 
 test_5_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local inum
 
        inum=$(stat -c %i $file)
        [[ -n "$inum" ]] || error "cannot get inode number of '$file'"
 
-       lipe_find_expect_file $file true "-inum $inum"
-       lipe_find_expect_file $file true "-expr 'inum == $inum'"
-       lipe_find_expect_file $file true "-expr '== inum $inum'"
-       lipe_find_expect_file $file false "! -inum $inum"
+       lipe_find_expect_file $facet $file true "-inum $inum"
+       lipe_find_expect_file $facet $file true "-expr 'inum == $inum'"
+       lipe_find_expect_file $facet $file true "-expr '== inum $inum'"
+       lipe_find_expect_file $facet $file false "! -inum $inum"
 }
 
 test_5() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
-       create_lipe_find_files $tf
-
        local saved_LIPE_FIND_USE_MOUNT=$LIPE_FIND_USE_MOUNT
        LIPE_FIND_USE_MOUNT=true
        stack_trap "LIPE_FIND_USE_MOUNT=$saved_LIPE_FIND_USE_MOUNT"
 
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
+       create_lipe_find_files $tf
+
        echo -e "\nTest $td"
-       test_5_sub $td
+       test_5_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_5_sub $td/$file
+               test_5_sub $facet $td/$file
        done
 }
 run_test 5 "lipe_find -inum works"
 
 test_6_sub() {
-       local path="$1"
+       local facet="$1"
+       local path="$2"
        local fid
        local t_option
        local t_constant
@@ -429,41 +469,44 @@ test_6_sub() {
        t_constant=$(convert_file_type constant "$(stat -c %F $path)")
        [[ -n "$t_constant" ]] || error "cannot get type constant of '$path'"
 
-       lipe_find_expect_fid $fid true "-type $t_option"
-       lipe_find_expect_fid $fid false "! -type $t_option"
-       lipe_find_expect_fid $fid true "-expr '== type $t_constant'"
-       lipe_find_expect_fid $fid true "-expr 'type == $t_constant'"
-       lipe_find_expect_fid $fid true \
+       lipe_find_expect_fid $facet $fid true "-type $t_option"
+       lipe_find_expect_fid $facet $fid false "! -type $t_option"
+       lipe_find_expect_fid $facet $fid true "-expr '== type $t_constant'"
+       lipe_find_expect_fid $facet $fid true "-expr 'type == $t_constant'"
+       lipe_find_expect_fid $facet $fid true \
                "-expr '(type == $t_constant) && fid_match(\\\"$fid\\\")'"
-       lipe_find_expect_fid $fid true \
+       lipe_find_expect_fid $facet $fid true \
                "-expr '(type==$t_constant) && fid_match(\\\"$fid\\\")'"
-       lipe_find_expect_fid $fid true \
+       lipe_find_expect_fid $facet $fid true \
                "-expr '(type != $t_constant) || fid_match(\\\"$fid\\\")'"
 
-       lipe_find_expect_fid $fid true "-name $name -type $t_option"
-       lipe_find_expect_fid $fid true "-name '*' -type $t_option"
+       lipe_find_expect_fid $facet $fid true "-name $name -type $t_option"
+       lipe_find_expect_fid $facet $fid true "-name '*' -type $t_option"
 }
 
 test_6() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_6_sub $td
+       test_6_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_6_sub $td/$file
+               test_6_sub $facet $td/$file
        done
 }
 run_test 6 "lipe_find -type works"
 
 test_7_sub() {
-       local path="$1"
+       local facet="$1"
+       local path="$2"
        local fid
        local pool
 
@@ -473,43 +516,50 @@ test_7_sub() {
        pool=$($LFS getstripe -p "$path" | head -1)
 
        if [[ -z "$pool" ]]; then
-               lipe_find_expect_fid $fid false "-pool '*'"
-               lipe_find_expect_fid $fid false "-pool-regex '.*'"
+               lipe_find_expect_fid $facet $fid false "-pool '*'"
+               lipe_find_expect_fid $facet $fid false "-pool-regex '.*'"
                return
        fi
 
-       lipe_find_expect_fid $fid true "-pool '*'"
-       lipe_find_expect_fid $fid true "-pool-regex '.*'"
-       lipe_find_expect_fid $fid true "-pool $pool"
-       lipe_find_expect_fid $fid true "-pool-regex $pool"
-       lipe_find_expect_fid $fid false "-pool ${pool}x"
-       lipe_find_expect_fid $fid false "-pool-regex ${pool}x"
-       lipe_find_expect_fid $fid false "-pool x$pool"
-       lipe_find_expect_fid $fid false "-pool-regex x$pool"
-       lipe_find_expect_fid $fid true "-expr 'pool_match(\\\"$pool\\\")'"
-       lipe_find_expect_fid $fid true "-expr 'pool_reg(\\\"$pool\\\")'"
+       lipe_find_expect_fid $facet $fid true "-pool '*'"
+       lipe_find_expect_fid $facet $fid true "-pool-regex '.*'"
+       lipe_find_expect_fid $facet $fid true "-pool $pool"
+       lipe_find_expect_fid $facet $fid true "-pool-regex $pool"
+       lipe_find_expect_fid $facet $fid false "-pool ${pool}x"
+       lipe_find_expect_fid $facet $fid false "-pool-regex ${pool}x"
+       lipe_find_expect_fid $facet $fid false "-pool x$pool"
+       lipe_find_expect_fid $facet $fid false "-pool-regex x$pool"
+       lipe_find_expect_fid $facet $fid true "-expr 'pool_reg(\\\"$pool\\\")'"
+       lipe_find_expect_fid $facet $fid true \
+               "-expr 'pool_match(\\\"$pool\\\")'"
 }
 
 test_7() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       # create OST pools
+       create_ost_pools
+
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_regular_files --with-pool $tf
 
        echo -e "\nTest $td"
-       test_7_sub $td
+       test_7_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_7_sub $td/$file
+               test_7_sub $facet $td/$file
        done
 }
 run_test 7 "lipe_find -pool works"
 
 test_8_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local type
        local count
        local size
@@ -520,13 +570,14 @@ test_8_sub() {
 
        if [[ $type != S_IFREG && $type != S_IFDIR ]] ||
           [[ "$($LFS getstripe -c $file)" =~ "no stripe info" ]]; then
-               lipe_find_expect_file $file false "-stripe-count 1"
-               lipe_find_expect_file $file false "! -stripe-count 1"
-               lipe_find_expect_file $file false "-stripe-count +1"
-
-               lipe_find_expect_file $file false "-stripe-size 1048576"
-               lipe_find_expect_file $file false "! -stripe-size 1048576"
-               lipe_find_expect_file $file false "-stripe-size +1"
+               lipe_find_expect_file $facet $file false "-stripe-count 1"
+               lipe_find_expect_file $facet $file false "! -stripe-count 1"
+               lipe_find_expect_file $facet $file false "-stripe-count +1"
+
+               lipe_find_expect_file $facet $file false "-stripe-size +1"
+               lipe_find_expect_file $facet $file false "-stripe-size 1048576"
+               lipe_find_expect_file $facet $file false \
+                       "! -stripe-size 1048576"
                return
        fi
 
@@ -538,47 +589,57 @@ test_8_sub() {
 
        max_stripe_size=$(lipe_find_max_stripe_size $file)
 
-       lipe_find_expect_file $file true "-stripe-count $count"
-       lipe_find_expect_file $file false "! -stripe-count $count"
-       lipe_find_expect_file $file false "-stripe-count +2000"
-       lipe_find_expect_file $file true "-expr 'stripe_count == $count'"
-       lipe_find_expect_file $file false "-expr 'stripe_count != $count'"
-       lipe_find_expect_file $file true "-expr 'stripe_count >= $count'"
-       lipe_find_expect_file $file true "-expr 'stripe_count <= $count'"
+       lipe_find_expect_file $facet $file true "-stripe-count $count"
+       lipe_find_expect_file $facet $file false "! -stripe-count $count"
+       lipe_find_expect_file $facet $file false "-stripe-count +2000"
+       lipe_find_expect_file $facet $file true "-expr 'stripe_count == $count'"
+       lipe_find_expect_file $facet $file false \
+               "-expr 'stripe_count != $count'"
+       lipe_find_expect_file $facet $file true "-expr 'stripe_count >= $count'"
+       lipe_find_expect_file $facet $file true "-expr 'stripe_count <= $count'"
 
-       lipe_find_expect_file $file false "-stripe-size $((size - 1))"
-       lipe_find_expect_file $file false "-stripe-size $((size + 1))"
-       lipe_find_expect_file $file false "-stripe-size +$max_stripe_size"
+       lipe_find_expect_file $facet $file false "-stripe-size $((size - 1))"
+       lipe_find_expect_file $facet $file false "-stripe-size $((size + 1))"
+       lipe_find_expect_file $facet $file false \
+               "-stripe-size +$max_stripe_size"
 
        if [[ $type != S_IFDIR ]]; then
-               lipe_find_expect_file $file true "-expr 'stripe_size == $size'"
-               lipe_find_expect_file $file false "-expr 'stripe_size != $size'"
-               lipe_find_expect_file $file true "-expr 'stripe_size >= $size'"
-               lipe_find_expect_file $file true "-expr 'stripe_size <= $size'"
+               lipe_find_expect_file $facet $file true \
+                       "-expr 'stripe_size == $size'"
+               lipe_find_expect_file $facet $file false \
+                       "-expr 'stripe_size != $size'"
+               lipe_find_expect_file $facet $file true \
+                       "-expr 'stripe_size >= $size'"
+               lipe_find_expect_file $facet $file true \
+                       "-expr 'stripe_size <= $size'"
        fi
 }
 
 test_8() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
-       $LFS setstripe -c 1 $td || error "$LFS setstripe -c 1 $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
+       $LFS setstripe -c 1 $td ||
+               error "$LFS setstripe -c 1 $td failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_8_sub $td
+       test_8_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_8_sub $td/$file
+               test_8_sub $facet $td/$file
        done
 }
 run_test 8 "lipe_find -stripe-count and -stripe-size work"
 
 test_9_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local type
        local idx
 
@@ -587,11 +648,11 @@ test_9_sub() {
 
        if [[ $type != S_IFREG && $type != S_IFDIR ]] ||
           [[ "$($LFS getstripe -i $file)" =~ "no stripe info" ]]; then
-               lipe_find_expect_file $file false "-ost 0"
-               lipe_find_expect_file $file false "! -ost 0"
+               lipe_find_expect_file $facet $file false "-ost 0"
+               lipe_find_expect_file $facet $file false "! -ost 0"
 
-               lipe_find_expect_file $file false "-stripe-index 0"
-               lipe_find_expect_file $file false "! -stripe-index 0"
+               lipe_find_expect_file $facet $file false "-stripe-index 0"
+               lipe_find_expect_file $facet $file false "! -stripe-index 0"
                return
        fi
 
@@ -599,27 +660,31 @@ test_9_sub() {
        [[ -n "$idx" ]] || error "cannot get stripe index of '$file'"
 
        if [[ $type = S_IFDIR || "$($LFS getstripe -L $file)" == "mdt" ]]; then
-               lipe_find_expect_file $file false "-ost $idx"
-               lipe_find_expect_file $file true "! -ost $idx"
-               lipe_find_expect_file $file false "-ost $((idx + 1))"
-               lipe_find_expect_file $file true "! -ost $((idx + 1))"
-
-               lipe_find_expect_file $file false "-stripe-index $idx"
-               lipe_find_expect_file $file true "! -stripe-index $idx"
-               lipe_find_expect_file $file false "-stripe-index $((idx + 1))"
-               lipe_find_expect_file $file true "! -stripe-index $((idx + 1))"
+               lipe_find_expect_file $facet $file false "-ost $idx"
+               lipe_find_expect_file $facet $file true "! -ost $idx"
+               lipe_find_expect_file $facet $file false "-ost $((idx + 1))"
+               lipe_find_expect_file $facet $file true "! -ost $((idx + 1))"
+
+               lipe_find_expect_file $facet $file false "-stripe-index $idx"
+               lipe_find_expect_file $facet $file true "! -stripe-index $idx"
+               lipe_find_expect_file $facet $file false \
+                       "-stripe-index $((idx + 1))"
+               lipe_find_expect_file $facet $file true \
+                       "! -stripe-index $((idx + 1))"
        elif [[ $type = S_IFREG ]]; then
-               lipe_find_expect_file $file true "-ost $idx"
-               lipe_find_expect_file $file true "-expr 'ost($idx)'"
-               lipe_find_expect_file $file false "! -ost $idx"
-               lipe_find_expect_file $file false "-ost $((idx + OSTCOUNT))"
-               lipe_find_expect_file $file true "! -ost $((idx + OSTCOUNT))"
-
-               lipe_find_expect_file $file true "-stripe-index $idx"
-               lipe_find_expect_file $file false "! -stripe-index $idx"
-               lipe_find_expect_file $file false \
+               lipe_find_expect_file $facet $file true "-ost $idx"
+               lipe_find_expect_file $facet $file true "-expr 'ost($idx)'"
+               lipe_find_expect_file $facet $file false "! -ost $idx"
+               lipe_find_expect_file $facet $file false \
+                       "-ost $((idx + OSTCOUNT))"
+               lipe_find_expect_file $facet $file true \
+                       "! -ost $((idx + OSTCOUNT))"
+
+               lipe_find_expect_file $facet $file true "-stripe-index $idx"
+               lipe_find_expect_file $facet $file false "! -stripe-index $idx"
+               lipe_find_expect_file $facet $file false \
                        "-stripe-index $((idx + OSTCOUNT))"
-               lipe_find_expect_file $file true \
+               lipe_find_expect_file $facet $file true \
                        "! -stripe-index $((idx + OSTCOUNT))"
        fi
 }
@@ -627,24 +692,28 @@ test_9_sub() {
 test_9() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
-       $LFS setstripe -i 0 $td || error "$LFS setstripe -i 0 $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
+       $LFS setstripe -i 0 $td ||
+               error "$LFS setstripe -i 0 $td failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_9_sub $td
+       test_9_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_9_sub $td/$file
+               test_9_sub $facet $td/$file
        done
 }
 run_test 9 "lipe_find -ost and -stripe-index work"
 
 test_10_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local type
        local count
 
@@ -654,15 +723,15 @@ test_10_sub() {
        if [[ $type != S_IFREG && $type != S_IFDIR ]] ||
           [[ "$($LFS getstripe --comp-count $file)" =~ "no stripe info" ]]
        then
-               lipe_find_expect_file $file false "-comp-count 0"
-               lipe_find_expect_file $file false "! -comp-count 0"
-               lipe_find_expect_file $file false "-comp-count +1"
-               lipe_find_expect_file $file false "-comp-count -1"
-
-               lipe_find_expect_file $file false "-component-count 0"
-               lipe_find_expect_file $file false "! -component-count 0"
-               lipe_find_expect_file $file false "-component-count +1"
-               lipe_find_expect_file $file false "-component-count -1"
+               lipe_find_expect_file $facet $file false "-comp-count 0"
+               lipe_find_expect_file $facet $file false "! -comp-count 0"
+               lipe_find_expect_file $facet $file false "-comp-count +1"
+               lipe_find_expect_file $facet $file false "-comp-count -1"
+
+               lipe_find_expect_file $facet $file false "-component-count 0"
+               lipe_find_expect_file $facet $file false "! -component-count 0"
+               lipe_find_expect_file $facet $file false "-component-count +1"
+               lipe_find_expect_file $facet $file false "-component-count -1"
                return
        fi
 
@@ -670,41 +739,47 @@ test_10_sub() {
        [[ -n "$count" ]] || error "cannot get component count of '$file'"
        (( count != 0 )) || return 0
 
-       lipe_find_expect_file $file true "-comp-count $count"
-       lipe_find_expect_file $file false "! -comp-count $count"
-       lipe_find_expect_file $file false "-comp-count +$count"
-       lipe_find_expect_file $file false "-comp-count -$count"
-       lipe_find_expect_file $file true "-comp-count -$((count + 1))"
-
-       lipe_find_expect_file $file true "-expr 'comp_count == $count'"
-       lipe_find_expect_file $file false "-expr 'comp_count != $count'"
-       lipe_find_expect_file $file true "-expr 'comp_count >= $count'"
-       lipe_find_expect_file $file true "-expr 'comp_count <= $count'"
-
-       lipe_find_expect_file $file true "-component-count $count"
-       lipe_find_expect_file $file false "! -component-count $count"
-       lipe_find_expect_file $file false "-component-count $((count + 1))"
-       lipe_find_expect_file $file true "! -component-count $((count + 1))"
-       lipe_find_expect_file $file true "-component-count +$((count - 1))"
+       lipe_find_expect_file $facet $file true "-comp-count $count"
+       lipe_find_expect_file $facet $file false "! -comp-count $count"
+       lipe_find_expect_file $facet $file false "-comp-count +$count"
+       lipe_find_expect_file $facet $file false "-comp-count -$count"
+       lipe_find_expect_file $facet $file true "-comp-count -$((count + 1))"
+
+       lipe_find_expect_file $facet $file true "-expr 'comp_count == $count'"
+       lipe_find_expect_file $facet $file false "-expr 'comp_count != $count'"
+       lipe_find_expect_file $facet $file true "-expr 'comp_count >= $count'"
+       lipe_find_expect_file $facet $file true "-expr 'comp_count <= $count'"
+
+       lipe_find_expect_file $facet $file true "-component-count $count"
+       lipe_find_expect_file $facet $file false "! -component-count $count"
+       lipe_find_expect_file $facet $file false \
+               "-component-count $((count + 1))"
+       lipe_find_expect_file $facet $file true \
+               "! -component-count $((count + 1))"
+       lipe_find_expect_file $facet $file true \
+               "-component-count +$((count - 1))"
 }
 
 test_10() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_10_sub $td/$file
+               test_10_sub $facet $td/$file
        done
 }
 run_test 10 "lipe_find -comp-count and -component-count work"
 
 test_11_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local type
        local layout
 
@@ -713,48 +788,52 @@ test_11_sub() {
 
        if [[ $type != S_IFREG ||
           "$($LFS getstripe -L $file)" =~ "no stripe info" ]]; then
-               lipe_find_expect_file $file false "-layout raid0"
-               lipe_find_expect_file $file false "-layout mdt"
-               lipe_find_expect_file $file false "-layout released"
+               lipe_find_expect_file $facet $file false "-layout raid0"
+               lipe_find_expect_file $facet $file false "-layout mdt"
+               lipe_find_expect_file $facet $file false "-layout released"
 
-               lipe_find_expect_file $file false "! -layout raid0"
-               lipe_find_expect_file $file false "! -layout mdt"
-               lipe_find_expect_file $file false "! -layout released"
+               lipe_find_expect_file $facet $file false "! -layout raid0"
+               lipe_find_expect_file $facet $file false "! -layout mdt"
+               lipe_find_expect_file $facet $file false "! -layout released"
                return
        fi
 
        layout=$($LFS getstripe -L $file)
        [[ -n "$layout" ]] || error "cannot get file layout of '$file'"
 
-       lipe_find_expect_file $file false "-layout released"
-       lipe_find_expect_file $file true "! -layout released"
-       lipe_find_expect_file $file true "-layout $layout"
-       lipe_find_expect_file $file false "! -layout $layout"
-       lipe_find_expect_file $file true "-layout $layout,$layout"
-       lipe_find_expect_file $file false "-layout $layout,released"
-       lipe_find_expect_file $file false "-layout raid0,mdt,released"
-       lipe_find_expect_file $file true "-expr 'layout(\\\"$layout\\\")'"
-       lipe_find_expect_file $file false \
+       lipe_find_expect_file $facet $file false "-layout released"
+       lipe_find_expect_file $facet $file true "! -layout released"
+       lipe_find_expect_file $facet $file true "-layout $layout"
+       lipe_find_expect_file $facet $file false "! -layout $layout"
+       lipe_find_expect_file $facet $file true "-layout $layout,$layout"
+       lipe_find_expect_file $facet $file false "-layout $layout,released"
+       lipe_find_expect_file $facet $file false "-layout raid0,mdt,released"
+       lipe_find_expect_file $facet $file true \
+               "-expr 'layout(\\\"$layout\\\")'"
+       lipe_find_expect_file $facet $file false \
                "-expr 'layout(\\\"mdt,raid0,released\\\")'"
 }
 
 test_11() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_11_sub $td/$file
+               test_11_sub $facet $td/$file
        done
 }
 run_test 11 "lipe_find -layout works"
 
 test_12_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local uid
        local user
 
@@ -764,59 +843,64 @@ test_12_sub() {
        user=$(stat -c %U $file)
        [[ -n "$user" ]] || error "cannot get user name of owner for '$file'"
 
-       lipe_find_expect_file $file true "-uid $uid"
-       lipe_find_expect_file $file true "! ! -uid $uid"
-       lipe_find_expect_file $file false "! -uid $uid"
-       lipe_find_expect_file $file false "! -uid $((uid + 1)) ! -uid $uid"
-       lipe_find_expect_file $file true "-expr 'uid == $uid'"
-       lipe_find_expect_file $file false "-expr 'uid != $uid'"
-       lipe_find_expect_file $file true \
+       lipe_find_expect_file $facet $file true "-uid $uid"
+       lipe_find_expect_file $facet $file true "! ! -uid $uid"
+       lipe_find_expect_file $facet $file false "! -uid $uid"
+       lipe_find_expect_file $facet $file false \
+               "! -uid $((uid + 1)) ! -uid $uid"
+       lipe_find_expect_file $facet $file true "-expr 'uid == $uid'"
+       lipe_find_expect_file $facet $file false "-expr 'uid != $uid'"
+       lipe_find_expect_file $facet $file true \
                "-expr 'uid == user2id(\\\"$user\\\")'"
 
-       lipe_find_expect_file $file true "-user $uid"
-       lipe_find_expect_file $file true "! ! -user $uid"
-       lipe_find_expect_file $file false "! -user $uid"
-       lipe_find_expect_file $file false "! -user $((uid + 1)) ! -user $uid"
-       lipe_find_expect_file $file true "-expr 'user(\\\"$uid\\\")'"
-
-       lipe_find_expect_file $file true "-user $user"
-       lipe_find_expect_file $file true "! ! -user $user"
-       lipe_find_expect_file $file false "! -user $user"
-       lipe_find_expect_file $file false "! -user bin ! -user $user"
-       lipe_find_expect_file $file false "-nouser"
-       lipe_find_expect_file $file false "-expr nouser"
-       lipe_find_expect_file $file true "-expr 'user(\\\"$user\\\")'"
+       lipe_find_expect_file $facet $file true "-user $uid"
+       lipe_find_expect_file $facet $file true "! ! -user $uid"
+       lipe_find_expect_file $facet $file false "! -user $uid"
+       lipe_find_expect_file $facet $file false \
+               "! -user $((uid + 1)) ! -user $uid"
+       lipe_find_expect_file $facet $file true "-expr 'user(\\\"$uid\\\")'"
+
+       lipe_find_expect_file $facet $file true "-user $user"
+       lipe_find_expect_file $facet $file true "! ! -user $user"
+       lipe_find_expect_file $facet $file false "! -user $user"
+       lipe_find_expect_file $facet $file false "! -user bin ! -user $user"
+       lipe_find_expect_file $facet $file false "-nouser"
+       lipe_find_expect_file $facet $file false "-expr nouser"
+       lipe_find_expect_file $facet $file true "-expr 'user(\\\"$user\\\")'"
 
        [[ $uid != $RUNAS_ID ]] || return 0
 
        chown $RUNAS_ID $file || return 0
 
-       lipe_find_expect_file $file false "-uid $uid"
-       lipe_find_expect_file $file true "! -uid $uid"
-       lipe_find_expect_file $file true "-uid $RUNAS_ID"
-       lipe_find_expect_file $file false "! -uid $RUNAS_ID"
+       lipe_find_expect_file $facet $file false "-uid $uid"
+       lipe_find_expect_file $facet $file true "! -uid $uid"
+       lipe_find_expect_file $facet $file true "-uid $RUNAS_ID"
+       lipe_find_expect_file $facet $file false "! -uid $RUNAS_ID"
 }
 
 test_12() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_12_sub $td
+       test_12_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_12_sub $td/$file
+               test_12_sub $facet $td/$file
        done
 }
 run_test 12 "lipe_find -uid, -user and -nouser work"
 
 test_13_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local gid
        local group
 
@@ -826,59 +910,64 @@ test_13_sub() {
        group=$(stat -c %G $file)
        [[ -n "$group" ]] || error "cannot get group name of owner for '$file'"
 
-       lipe_find_expect_file $file true "-gid $gid"
-       lipe_find_expect_file $file true "! ! -gid $gid"
-       lipe_find_expect_file $file false "! -gid $gid"
-       lipe_find_expect_file $file false "! -gid $((gid + 1)) ! -gid $gid"
-       lipe_find_expect_file $file true "-expr 'gid == $gid'"
-       lipe_find_expect_file $file false "-expr 'gid != $gid'"
-       lipe_find_expect_file $file true \
+       lipe_find_expect_file $facet $file true "-gid $gid"
+       lipe_find_expect_file $facet $file true "! ! -gid $gid"
+       lipe_find_expect_file $facet $file false "! -gid $gid"
+       lipe_find_expect_file $facet $file false \
+               "! -gid $((gid + 1)) ! -gid $gid"
+       lipe_find_expect_file $facet $file true "-expr 'gid == $gid'"
+       lipe_find_expect_file $facet $file false "-expr 'gid != $gid'"
+       lipe_find_expect_file $facet $file true \
                "-expr 'gid == group2id(\\\"$group\\\")'"
 
-       lipe_find_expect_file $file true "-group $gid"
-       lipe_find_expect_file $file true "! ! -group $gid"
-       lipe_find_expect_file $file false "! -group $gid"
-       lipe_find_expect_file $file false "! -group $((gid + 1)) ! -group $gid"
-       lipe_find_expect_file $file true "-expr 'group(\\\"$gid\\\")'"
-
-       lipe_find_expect_file $file true "-group $group"
-       lipe_find_expect_file $file true "! ! -group $group"
-       lipe_find_expect_file $file false "! -group $group"
-       lipe_find_expect_file $file false "! -group bin ! -group $group"
-       lipe_find_expect_file $file false "-nogroup"
-       lipe_find_expect_file $file false "-expr nogroup"
-       lipe_find_expect_file $file true "-expr 'group(\\\"$group\\\")'"
+       lipe_find_expect_file $facet $file true "-group $gid"
+       lipe_find_expect_file $facet $file true "! ! -group $gid"
+       lipe_find_expect_file $facet $file false "! -group $gid"
+       lipe_find_expect_file $facet $file false \
+               "! -group $((gid + 1)) ! -group $gid"
+       lipe_find_expect_file $facet $file true "-expr 'group(\\\"$gid\\\")'"
+
+       lipe_find_expect_file $facet $file true "-group $group"
+       lipe_find_expect_file $facet $file true "! ! -group $group"
+       lipe_find_expect_file $facet $file false "! -group $group"
+       lipe_find_expect_file $facet $file false "! -group bin ! -group $group"
+       lipe_find_expect_file $facet $file false "-nogroup"
+       lipe_find_expect_file $facet $file false "-expr nogroup"
+       lipe_find_expect_file $facet $file true "-expr 'group(\\\"$group\\\")'"
 
        [[ $gid != $RUNAS_GID ]] || return 0
 
        chown :$RUNAS_GID $file || return 0
 
-       lipe_find_expect_file $file false "-gid $gid"
-       lipe_find_expect_file $file true "! -gid $gid"
-       lipe_find_expect_file $file true "-gid $RUNAS_GID"
-       lipe_find_expect_file $file false "! -gid $RUNAS_GID"
+       lipe_find_expect_file $facet $file false "-gid $gid"
+       lipe_find_expect_file $facet $file true "! -gid $gid"
+       lipe_find_expect_file $facet $file true "-gid $RUNAS_GID"
+       lipe_find_expect_file $facet $file false "! -gid $RUNAS_GID"
 }
 
 test_13() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_13_sub $td
+       test_13_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_13_sub $td/$file
+               test_13_sub $facet $td/$file
        done
 }
 run_test 13 "lipe_find -gid, -group and -nogroup work"
 
 test_14_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local uid
        local gid
        local xtime
@@ -891,254 +980,274 @@ test_14_sub() {
        [[ -n "$gid" ]] || error "cannot get group ID of owner for '$file'"
 
        for xtime in atime ctime mtime; do
-               lipe_find_expect_file $file true "-$xtime 0"
-               lipe_find_expect_file $file false "! -$xtime 0"
-               lipe_find_expect_file $file false "-$xtime +0"
-               lipe_find_expect_file $file true "! -$xtime +0"
-               lipe_find_expect_file $file false "-$xtime -0"
-               lipe_find_expect_file $file true "! -$xtime -0"
-               lipe_find_expect_file $file true "-$xtime -1"
-               lipe_find_expect_file $file false "! -$xtime -1"
-               lipe_find_expect_file $file true "-expr '$xtime > 0'"
-               lipe_find_expect_file $file false "-expr '$xtime < 0'"
+               lipe_find_expect_file $facet $file true "-$xtime 0"
+               lipe_find_expect_file $facet $file false "! -$xtime 0"
+               lipe_find_expect_file $facet $file false "-$xtime +0"
+               lipe_find_expect_file $facet $file true "! -$xtime +0"
+               lipe_find_expect_file $facet $file false "-$xtime -0"
+               lipe_find_expect_file $facet $file true "! -$xtime -0"
+               lipe_find_expect_file $facet $file true "-$xtime -1"
+               lipe_find_expect_file $facet $file false "! -$xtime -1"
+               lipe_find_expect_file $facet $file true "-expr '$xtime > 0'"
+               lipe_find_expect_file $facet $file false "-expr '$xtime < 0'"
 
                expr_cmd="-expr '($xtime > (sys_time - 1 * days) ||"
                expr_cmd+=" uid == $((uid + 100))) && gid == $gid'"
-               lipe_find_expect_file $file true "$expr_cmd"
+               lipe_find_expect_file $facet $file true "$expr_cmd"
        done
 }
 
 test_14() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_14_sub $td
+       test_14_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_14_sub $td/$file
+               test_14_sub $facet $td/$file
        done
 }
 run_test 14 "lipe_find -atime, -ctime and -mtime work"
 
 test_15_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local xmin
 
        for xmin in amin cmin mmin; do
-               lipe_find_expect_file $file false "-$xmin +600"
-               lipe_find_expect_file $file true "! -$xmin +600"
-               lipe_find_expect_file $file false "-$xmin -0"
-               lipe_find_expect_file $file true "! -$xmin -0"
-               lipe_find_expect_file $file true "-$xmin -600"
-               lipe_find_expect_file $file false "! -$xmin -600"
+               lipe_find_expect_file $facet $file false "-$xmin +600"
+               lipe_find_expect_file $facet $file true "! -$xmin +600"
+               lipe_find_expect_file $facet $file false "-$xmin -0"
+               lipe_find_expect_file $facet $file true "! -$xmin -0"
+               lipe_find_expect_file $facet $file true "-$xmin -600"
+               lipe_find_expect_file $facet $file false "! -$xmin -600"
        done
 }
 
 test_15() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_15_sub $td
+       test_15_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_15_sub $td/$file
+               test_15_sub $facet $td/$file
        done
 }
 run_test 15 "lipe_find -amin, -cmin and -mmin work"
 
 test_16_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
 
-       lipe_find_expect_file $file false "-used +0"
-       lipe_find_expect_file $file false "-used 1"
-       lipe_find_expect_file $file true "-used -1"
-       lipe_find_expect_file $file false "-used +1"
+       lipe_find_expect_file $facet $file false "-used +0"
+       lipe_find_expect_file $facet $file false "-used 1"
+       lipe_find_expect_file $facet $file true "-used -1"
+       lipe_find_expect_file $facet $file false "-used +1"
 }
 
 test_16() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_16_sub $td
+       test_16_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_16_sub $td/$file
+               test_16_sub $facet $td/$file
        done
 }
 run_test 16 "lipe_find -used works"
 
 test_17_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local type
 
        type=$(convert_file_type constant "$(stat -c %F $file)")
        [[ -n "$type" ]] || error "cannot get type of '$file'"
 
        if [[ $type != S_IFREG && $type != S_IFDIR ]]; then
-               lipe_find_expect_file $file false "-empty"
-               lipe_find_expect_file $file true "! -empty"
+               lipe_find_expect_file $facet $file false "-empty"
+               lipe_find_expect_file $facet $file true "! -empty"
                return
        fi
 
        if [[ $type = S_IFDIR ]]; then
                if [[ -z "$(ls $file)" ]]; then
-                       lipe_find_expect_file $file true "-empty"
-                       lipe_find_expect_file $file false "! -empty"
+                       lipe_find_expect_file $facet $file true "-empty"
+                       lipe_find_expect_file $facet $file false "! -empty"
                else
-                       lipe_find_expect_file $file false "-empty"
-                       lipe_find_expect_file $file true "! -empty"
+                       lipe_find_expect_file $facet $file false "-empty"
+                       lipe_find_expect_file $facet $file true "! -empty"
                fi
                return
        fi
 
        # S_IFREG
        if (( $(stat -c %s $file) == 0 )); then
-               lipe_find_expect_file $file true "-empty"
-               lipe_find_expect_file $file false "! -empty"
+               lipe_find_expect_file $facet $file true "-empty"
+               lipe_find_expect_file $facet $file false "! -empty"
                echo foo > $file || error "echo foo > $file failed"
                sync; sleep 5; sync
        fi
 
-       lipe_find_expect_file $file false "-empty"
-       lipe_find_expect_file $file true "! -empty"
-       lipe_find_expect_file $file false "-expr empty"
+       lipe_find_expect_file $facet $file false "-empty"
+       lipe_find_expect_file $facet $file true "! -empty"
+       lipe_find_expect_file $facet $file false "-expr empty"
 }
 
 test_17() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
-       mkdir $td-1 || error "mkdir $td-1 failed"
-       create_lipe_find_files $tf
-
        local saved_LIPE_FIND_USE_MOUNT=$LIPE_FIND_USE_MOUNT
        LIPE_FIND_USE_MOUNT=true
        stack_trap "LIPE_FIND_USE_MOUNT=$saved_LIPE_FIND_USE_MOUNT"
 
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
+       mkdir_on_mdt -i $index $td-1 || error "$LFS mkdir '$td-1' failed"
+
+       create_lipe_find_files $tf
+
        echo -e "\nTest $td"
-       test_17_sub $td
+       test_17_sub $facet $td
 
        echo -e "\nTest $td-1"
-       test_17_sub $td-1
+       test_17_sub $facet $td-1
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_17_sub $td/$file
+               test_17_sub $facet $td/$file
        done
 }
 run_test 17 "lipe_find -empty works"
 
 test_18_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local type
 
        type=$(convert_file_type constant "$(stat -c %F $file)")
        [[ -n "$type" ]] || error "cannot get type of '$file'"
 
        if [[ $type != S_IFDIR ]]; then
-               lipe_find_expect_file $file true "-entries 0"
-               lipe_find_expect_file $file false "! -entries 0"
-               lipe_find_expect_file $file true "-expr 'entries == 0'"
-               lipe_find_expect_file $file false "-expr 'entries != 0'"
+               lipe_find_expect_file $facet $file true "-entries 0"
+               lipe_find_expect_file $facet $file false "! -entries 0"
+               lipe_find_expect_file $facet $file true "-expr 'entries == 0'"
+               lipe_find_expect_file $facet $file false "-expr 'entries != 0'"
                return
        fi
 
        if [[ -z "$(ls $file)" ]]; then
-               lipe_find_expect_file $file true "-entries 0"
-               lipe_find_expect_file $file false "! -entries 0"
-               lipe_find_expect_file $file false "-entries +0"
-               lipe_find_expect_file $file true "! -entries +0"
-               lipe_find_expect_file $file false "-entries -0"
-               lipe_find_expect_file $file true "! -entries -0"
+               lipe_find_expect_file $facet $file true "-entries 0"
+               lipe_find_expect_file $facet $file false "! -entries 0"
+               lipe_find_expect_file $facet $file false "-entries +0"
+               lipe_find_expect_file $facet $file true "! -entries +0"
+               lipe_find_expect_file $facet $file false "-entries -0"
+               lipe_find_expect_file $facet $file true "! -entries -0"
        else
-               lipe_find_expect_file $file false "-entries 0"
-               lipe_find_expect_file $file true "! -entries 0"
-               lipe_find_expect_file $file true "-entries +0"
-               lipe_find_expect_file $file false "! -entries +0"
-               lipe_find_expect_file $file false "-entries -0"
-               lipe_find_expect_file $file true "! -entries -0"
+               lipe_find_expect_file $facet $file false "-entries 0"
+               lipe_find_expect_file $facet $file true "! -entries 0"
+               lipe_find_expect_file $facet $file true "-entries +0"
+               lipe_find_expect_file $facet $file false "! -entries +0"
+               lipe_find_expect_file $facet $file false "-entries -0"
+               lipe_find_expect_file $facet $file true "! -entries -0"
        fi
 }
 
 test_18() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
-       mkdir $td-1 || error "mkdir $td-1 failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
+       mkdir_on_mdt -i $index $td-1 || error "$LFS mkdir '$td-1' failed"
+
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_18_sub $td
+       test_18_sub $facet $td
 
        echo -e "\nTest $td-1"
-       test_18_sub $td-1
+       test_18_sub $facet $td-1
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_18_sub $td/$file
+               test_18_sub $facet $td/$file
        done
 }
 run_test 18 "lipe_find -entries works"
 
 test_19_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local nlink
 
        nlink=$(stat -c %h $file)
        [[ -n "$nlink" ]] || error "cannot get number of hard links for '$file'"
 
-       lipe_find_expect_file $file true "-links $nlink"
-       lipe_find_expect_file $file false "! -links $nlink"
-       lipe_find_expect_file $file false "-links $((nlink + 1))"
-       lipe_find_expect_file $file false "-links $((nlink - 1))"
-       lipe_find_expect_file $file true "-expr 'nlink == $nlink'"
-       lipe_find_expect_file $file false "-expr 'nlink != $nlink'"
-       lipe_find_expect_file $file true "-expr 'nlink >= $nlink'"
-       lipe_find_expect_file $file true "-expr 'nlink <= $nlink'"
+       lipe_find_expect_file $facet $file true "-links $nlink"
+       lipe_find_expect_file $facet $file false "! -links $nlink"
+       lipe_find_expect_file $facet $file false "-links $((nlink + 1))"
+       lipe_find_expect_file $facet $file false "-links $((nlink - 1))"
+       lipe_find_expect_file $facet $file true "-expr 'nlink == $nlink'"
+       lipe_find_expect_file $facet $file false "-expr 'nlink != $nlink'"
+       lipe_find_expect_file $facet $file true "-expr 'nlink >= $nlink'"
+       lipe_find_expect_file $facet $file true "-expr 'nlink <= $nlink'"
 }
 
 test_19() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_19_sub $td
+       test_19_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_19_sub $td/$file
+               test_19_sub $facet $td/$file
        done
 }
 run_test 19 "lipe_find -links works"
 
 test_20_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local type
        local cmd
 
@@ -1151,17 +1260,19 @@ test_20_sub() {
        echo $cmd
        $cmd || error "setfattr $file failed"
 
-       lipe_find_expect_file $file true "-xattr 'user.xattr_name=*'"
-       lipe_find_expect_file $file true "-xattr '*=xattr_value'"
-       lipe_find_expect_file $file true "-xattr 'user.xattr_name=xattr_value'"
-       lipe_find_expect_file $file true "-xattr 'user.xattr_name*=xattr_value'"
-       lipe_find_expect_file $file true "-xattr 'user.*=xattr_value'"
-       lipe_find_expect_file $file true "-xattr 'user.*=*_value'"
-       lipe_find_expect_file $file true "-xattr '*=*'"
-       lipe_find_expect_file $file true "-xattr 'trusted.lma=*'"
-       lipe_find_expect_file $file false "-xattr 'invalid_name=*'"
-       lipe_find_expect_file $file false "-xattr '*=invalid_value'"
-       lipe_find_expect_file $file true "-expr \
+       lipe_find_expect_file $facet $file true "-xattr 'user.xattr_name=*'"
+       lipe_find_expect_file $facet $file true "-xattr '*=xattr_value'"
+       lipe_find_expect_file $facet $file true \
+               "-xattr 'user.xattr_name=xattr_value'"
+       lipe_find_expect_file $facet $file true \
+               "-xattr 'user.xattr_name*=xattr_value'"
+       lipe_find_expect_file $facet $file true "-xattr 'user.*=xattr_value'"
+       lipe_find_expect_file $facet $file true "-xattr 'user.*=*_value'"
+       lipe_find_expect_file $facet $file true "-xattr '*=*'"
+       lipe_find_expect_file $facet $file true "-xattr 'trusted.lma=*'"
+       lipe_find_expect_file $facet $file false "-xattr 'invalid_name=*'"
+       lipe_find_expect_file $facet $file false "-xattr '*=invalid_value'"
+       lipe_find_expect_file $facet $file true "-expr \
                'xattr_match(\\\"user.xattr_name\\\", \\\"xattr_value\\\")'"
 }
 
@@ -1170,99 +1281,108 @@ test_20() {
 
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_20_sub $td
+       test_20_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_20_sub $td/$file
+               test_20_sub $facet $td/$file
        done
 }
 run_test 20 "lipe_find -xattr works"
 
 test_21_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local perm
 
        perm=$(stat -c %a $file)
        [[ -n "$perm" ]] || error "cannot get access rights for '$file'"
 
-       lipe_find_expect_file $file true "-perm -0"
-       lipe_find_expect_file $file true "-perm /0"
+       lipe_find_expect_file $facet $file true "-perm -0"
+       lipe_find_expect_file $facet $file true "-perm /0"
 
-       lipe_find_expect_file $file true "-perm $perm"
-       lipe_find_expect_file $file true "-perm -$perm"
-       lipe_find_expect_file $file true "-perm /$perm"
+       lipe_find_expect_file $facet $file true "-perm $perm"
+       lipe_find_expect_file $facet $file true "-perm -$perm"
+       lipe_find_expect_file $facet $file true "-perm /$perm"
 
        chmod 666 $file || return 0
 
-       lipe_find_expect_file $file false "-perm 777"
-       lipe_find_expect_file $file false "-perm -777"
-       lipe_find_expect_file $file true "-perm /777"
+       lipe_find_expect_file $facet $file false "-perm 777"
+       lipe_find_expect_file $facet $file false "-perm -777"
+       lipe_find_expect_file $facet $file true "-perm /777"
 
-       lipe_find_expect_file $file false "-expr 'perm_equal(444)'"
-       lipe_find_expect_file $file true "-expr 'perm_at_least(444)'"
-       lipe_find_expect_file $file true "-expr 'perm_any(444)'"
+       lipe_find_expect_file $facet $file false "-expr 'perm_equal(444)'"
+       lipe_find_expect_file $facet $file true "-expr 'perm_at_least(444)'"
+       lipe_find_expect_file $facet $file true "-expr 'perm_any(444)'"
 }
 
 test_21() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        create_lipe_find_files $tf
 
        echo -e "\nTest $td"
-       test_21_sub $td
+       test_21_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_21_sub $td/$file
+               test_21_sub $facet $td/$file
        done
 }
 run_test 21 "lipe_find -perm works"
 
 test_22_sub() {
-       local file="$1"
-
-       lipe_find_expect_file $file true "-projid 0"
-       lipe_find_expect_file $file false "! -projid 0"
-       lipe_find_expect_file $file true "-expr 'projid == 0'"
-       lipe_find_expect_file $file true "-expr '== projid 0'"
-       lipe_find_expect_file $file false "-projid +0"
-       lipe_find_expect_file $file true "-projid -1"
+       local facet="$1"
+       local file="$2"
+
+       lipe_find_expect_file $facet $file true "-projid 0"
+       lipe_find_expect_file $facet $file false "! -projid 0"
+       lipe_find_expect_file $facet $file true "-expr 'projid == 0'"
+       lipe_find_expect_file $facet $file true "-expr '== projid 0'"
+       lipe_find_expect_file $facet $file false "-projid +0"
+       lipe_find_expect_file $facet $file true "-projid -1"
 }
 
 test_22() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
-       create_lipe_find_files $tf
-
        local saved_LIPE_FIND_USE_MOUNT=$LIPE_FIND_USE_MOUNT
        LIPE_FIND_USE_MOUNT=true
        stack_trap "LIPE_FIND_USE_MOUNT=$saved_LIPE_FIND_USE_MOUNT"
 
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
+       create_lipe_find_files $tf
+
        echo -e "\nTest $td"
-       test_22_sub $td
+       test_22_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_22_sub $td/$file
+               test_22_sub $facet $td/$file
        done
 }
 run_test 22 "lipe_find -projid works"
 
 test_23_sub() {
-       local file="$1"
+       local facet="$1"
+       local file="$2"
        local size
        local f_size
        local b_num
@@ -1284,52 +1404,55 @@ test_23_sub() {
        for opt in size blocks; do
                [[ $opt = size ]] && size=$f_size || size=$b_size
 
-               lipe_find_expect_file $file true "-$opt ${size}c"
-               lipe_find_expect_file $file false "! -$opt ${size}c"
-               lipe_find_expect_file $file false "-$opt +${size}c"
-               lipe_find_expect_file $file false "-$opt -${size}c"
+               lipe_find_expect_file $facet $file true "-$opt ${size}c"
+               lipe_find_expect_file $facet $file false "! -$opt ${size}c"
+               lipe_find_expect_file $facet $file false "-$opt +${size}c"
+               lipe_find_expect_file $facet $file false "-$opt -${size}c"
 
-               lipe_find_expect_file $file false "-$opt $((size + 1))c"
-               lipe_find_expect_file $file true "! -$opt $((size + 1))c"
-               lipe_find_expect_file $file false "-$opt +$((size + 1))c"
-               lipe_find_expect_file $file true "-$opt -$((size + 1))c"
+               lipe_find_expect_file $facet $file false "-$opt $((size + 1))c"
+               lipe_find_expect_file $facet $file true "! -$opt $((size + 1))c"
+               lipe_find_expect_file $facet $file false "-$opt +$((size + 1))c"
+               lipe_find_expect_file $facet $file true "-$opt -$((size + 1))c"
 
                (( size != 0 )) || continue
 
-               lipe_find_expect_file $file true "-$opt $((size / 512))b"
-               lipe_find_expect_file $file true "-$opt $((size / 1024))"
-               lipe_find_expect_file $file true "-$opt $((size / 1048576))M"
+               lipe_find_expect_file $facet $file true "-$opt $((size / 512))b"
+               lipe_find_expect_file $facet $file true "-$opt $((size / 1024))"
+               lipe_find_expect_file $facet $file true \
+                       "-$opt $((size / 1048576))M"
 
-               lipe_find_expect_file $file true "-expr '$opt == $size'"
-               lipe_find_expect_file $file true "-expr '$opt >= $size'"
-               lipe_find_expect_file $file true "-expr '$opt <= $size'"
-               lipe_find_expect_file $file false "-expr '$opt != $size'"
+               lipe_find_expect_file $facet $file true "-expr '$opt == $size'"
+               lipe_find_expect_file $facet $file true "-expr '$opt >= $size'"
+               lipe_find_expect_file $facet $file true "-expr '$opt <= $size'"
+               lipe_find_expect_file $facet $file false "-expr '$opt != $size'"
 
-               lipe_find_expect_file $file false "-$opt $((size - 1))c"
-               lipe_find_expect_file $file true "! -$opt $((size - 1))c"
-               lipe_find_expect_file $file true "-$opt +$((size - 1))c"
-               lipe_find_expect_file $file false "-$opt -$((size - 1))c"
+               lipe_find_expect_file $facet $file false "-$opt $((size - 1))c"
+               lipe_find_expect_file $facet $file true "! -$opt $((size - 1))c"
+               lipe_find_expect_file $facet $file true "-$opt +$((size - 1))c"
+               lipe_find_expect_file $facet $file false "-$opt -$((size - 1))c"
        done
 }
 
 test_23() {
        local td=$DIR/$tdir
        local tf=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local file
 
-       mkdir $td || error "mkdir $td failed"
-       create_lipe_find_files $tf
-
        local saved_LIPE_FIND_USE_MOUNT=$LIPE_FIND_USE_MOUNT
        LIPE_FIND_USE_MOUNT=true
        stack_trap "LIPE_FIND_USE_MOUNT=$saved_LIPE_FIND_USE_MOUNT"
 
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
+       create_lipe_find_files $tf
+
        echo -e "\nTest $td"
-       test_23_sub $td
+       test_23_sub $facet $td
 
        for file in $(ls $td); do
                echo -e "\nTest $td/$file"
-               test_23_sub $td/$file
+               test_23_sub $facet $td/$file
        done
 }
 run_test 23 "lipe_find -size and -blocks work"
@@ -1343,7 +1466,10 @@ do_lipe_scan2_facet() {
 }
 
 test_200() {
-       local file=$DIR/$tdir/$tfile
+       local td=$DIR/$tdir
+       local file=$td/$tfile
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
        local fid
        local attrs
        local size1
@@ -1353,7 +1479,7 @@ test_200() {
        local flags1
        local flags2
 
-       mkdir -p $DIR/$tdir || error "mkdir $DIR/$tdir failed"
+       mkdir_on_mdt -i $index $td || error "$LFS mkdir '$td' failed"
        echo XXX > $file
        fid=$($LFS path2fid $file)
 
@@ -1367,7 +1493,7 @@ test_200() {
        size1=$($LFS getsom -s $file)
        blocks1=$($LFS getsom -b $file)
 
-       attrs=$(do_lipe_scan2_facet mds1 --print-json=fid,som |
+       attrs=$(do_lipe_scan2_facet $facet --print-json=fid,som |
                jq --arg FID "$fid" 'select(.fid == $FID)')
        echo "attrs = '$attrs'" >&2
 
@@ -1377,18 +1503,25 @@ test_200() {
 
        ((flags1 == flags2)) || error "flags1 ($flags1) != flags2 ($flags2)"
        ((size1 == size2)) || error "size1 ($size1) != size2 ($size2)"
-       ((blocks1 == blocks2)) || error "blocks1 ($blocks1) != blocks2 ($blocks2)"
+       ((blocks1 == blocks2)) ||
+               error "blocks1 ($blocks1) != blocks2 ($blocks2)"
 }
 run_test 200 "lipe_scan2 SoM support"
 
 test_201() {
-       local file0=$DIR/$tdir/$tfile
-       local file1=$DIR/$tdir.2/$tfile.2
+       local td0=$DIR/$tdir
+       local td1=$DIR/$tdir.1
+       local file0=$td0/$tfile
+       local file1=$td1/$tfile.1
        local fid
        local -a path
        local path_count
+       local facet=${LIPE_MDS_FACET:-$(lipe_get_random_mds)}
+       local index=$(($(facet_number $facet) - 1))
+
+       mkdir_on_mdt -i $index $td0 || error "$LFS mkdir '$td0' failed"
+       mkdir_on_mdt -i $index $td1 || error "$LFS mkdir '$td1' failed"
 
-       mkdir -p $DIR/$tdir $DIR/$tdir.2 || error "mkdir $DIR/$tdir failed"
        echo XXX > $file0
        fid=$($LFS path2fid $file0)
        ln $file0 $file1
@@ -1398,7 +1531,8 @@ test_201() {
        sync
        cancel_lru_locks mdc
 
-       attrs=$(do_lipe_scan2_facet mds1 --client-mount="$MOUNT" --print-json=fid,paths |
+       attrs=$(do_lipe_scan2_facet $facet --client-mount="$MOUNT" \
+               --print-json=fid,paths |
                jq --arg FID "$fid" 'select(.fid == $FID)')
        echo "attrs = '$attrs'" >&2
 
@@ -1406,8 +1540,10 @@ test_201() {
        ((path_count == 2)) || error "path_count ($path_count) != 2"
 
        path=( $(jq --null-input --raw-output "$attrs.paths[]") )
-       [[ "${path[0]}" == "$tdir/$tfile" ]] || error "path0 '${path[0]}' != '$tdir/$tfile'"
-       [[ "${path[1]}" == "$tdir.2/$tfile.2" ]] || error "path1 '${path[1]}' != '$tdir.2/$tfile.2'"
+       [[ "${path[0]}" == "$tdir/$tfile" ]] ||
+               error "path0 '${path[0]}' != '$tdir/$tfile'"
+       [[ "${path[1]}" == "$tdir.1/$tfile.1" ]] ||
+               error "path1 '${path[1]}' != '$tdir.1/$tfile.1'"
 }
 run_test 201 "lipe_scan2 paths support"