+test_56s() { # LU-611
+ TDIR=$DIR/${tdir}s
+ setup_56 $NUMFILES $NUMDIRS "-c $OSTCOUNT"
+
+ if [ $OSTCOUNT -gt 1 ]; then
+ $SETSTRIPE -c 1 $TDIR/$tfile.{0,1,2,3}
+ ONESTRIPE=4
+ EXTRA=4
+ else
+ ONESTRIPE=$(((NUMDIRS + 1) * NUMFILES))
+ EXTRA=0
+ fi
+
+ EXPECTED=$(((NUMDIRS + 1) * NUMFILES))
+ CMD="$LFIND -stripe-count $OSTCOUNT -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ EXPECTED=$(((NUMDIRS + 1) * NUMFILES + EXTRA))
+ CMD="$LFIND -stripe-count +0 -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ EXPECTED=$ONESTRIPE
+ CMD="$LFIND -stripe-count 1 -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ CMD="$LFIND -stripe-count -2 -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ EXPECTED=0
+ CMD="$LFIND -stripe-count $((OSTCOUNT + 1)) -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+}
+run_test 56s "check lfs find -stripe-count works"
+
+test_56t() { # LU-611
+ TDIR=$DIR/${tdir}t
+ setup_56 $NUMFILES $NUMDIRS "-s 512k"
+
+ $SETSTRIPE -S 256k $TDIR/$tfile.{0,1,2,3}
+
+ EXPECTED=$(((NUMDIRS + 1) * NUMFILES))
+ CMD="$LFIND -stripe-size 512k -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ CMD="$LFIND -stripe-size +320k -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ EXPECTED=$(((NUMDIRS + 1) * NUMFILES + 4))
+ CMD="$LFIND -stripe-size +200k -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ CMD="$LFIND -stripe-size -640k -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ EXPECTED=4
+ CMD="$LFIND -stripe-size 256k -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ CMD="$LFIND -stripe-size -320k -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ EXPECTED=0
+ CMD="$LFIND -stripe-size 1024k -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+}
+run_test 56t "check lfs find -stripe-size works"
+
+test_56u() { # LU-611
+ TDIR=$DIR/${tdir}u
+ setup_56 $NUMFILES $NUMDIRS "-i 0"
+
+ if [ $OSTCOUNT -gt 1 ]; then
+ $SETSTRIPE -i 1 $TDIR/$tfile.{0,1,2,3}
+ ONESTRIPE=4
+ else
+ ONESTRIPE=0
+ fi
+
+ EXPECTED=$(((NUMDIRS + 1) * NUMFILES))
+ CMD="$LFIND -stripe-index 0 -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ EXPECTED=$ONESTRIPE
+ CMD="$LFIND -stripe-index 1 -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ CMD="$LFIND ! -stripe-index 0 -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ EXPECTED=0
+ # This should produce an error and not return any files
+ CMD="$LFIND -stripe-index $OSTCOUNT -type f $TDIR"
+ NUMS=$($CMD 2>/dev/null | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+
+ EXPECTED=$(((NUMDIRS + 1) * NUMFILES + ONESTRIPE))
+ CMD="$LFIND -stripe-index 0,1 -type f $TDIR"
+ NUMS=$($CMD | wc -l)
+ [ $NUMS -eq $EXPECTED ] ||
+ error "\"$CMD\" wrong: found $NUMS, expected $EXPECTED"
+}
+run_test 56u "check lfs find -stripe-index works"
+