-test_51bb() {
- [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
-
- local ndirs=${TEST51BB_NDIRS:-10}
- local nfiles=${TEST51BB_NFILES:-100}
-
- local numfree=`df -i -P $DIR | tail -n 1 | awk '{ print $4 }'`
-
- [ $numfree -lt $(( ndirs * nfiles)) ] && \
- nfiles=$(( numfree / ndirs - 10 ))
-
- local dir=$DIR/d51bb
- mkdir -p $dir
- local savePOLICY=$(lctl get_param -n lmv.*.placement)
- lctl set_param -n lmv.*.placement=CHAR
-
- lfs df -i $dir
- local IUSED=$(lfs df -i $dir | grep MDT | awk '{print $3}')
- OLDUSED=($IUSED)
-
- declare -a dirs
- for ((i=0; i < $ndirs; i++)); do
- dirs[i]=$dir/$RANDOM
- echo Creating directory ${dirs[i]}
- mkdir -p ${dirs[i]}
- ls $dir
- echo Creating $nfiles in dir ${dirs[i]} ...
- echo "createmany -o ${dirs[i]}/$tfile- $nfiles"
- createmany -o ${dirs[i]}/$tfile- $nfiles
- done
- ls $dir
-
- sleep 1
-
- IUSED=$(lfs df -i $dir | grep MDT | awk '{print $3}')
- NEWUSED=($IUSED)
-
- local rc=0
- for ((i=0; i<${#NEWUSED[@]}; i++)); do
- echo "mds $i: inodes count OLD ${OLDUSED[$i]} NEW ${NEWUSED[$i]}"
- [ ${OLDUSED[$i]} -lt ${NEWUSED[$i]} ] || rc=$((rc + 1))
- done
-
- lctl set_param -n lmv.*.placement=$savePOLICY
-
- [ $rc -ne $MDSCOUNT ] || \
- error "Objects/inodes are not distributed over all mds servers"
-}
-run_test 51bb "mkdir createmany CMD $MDSCOUNT ===================="
-