X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Flockorder.sh;h=122df46b0e5b6a072bb5752357b3463e454b7df3;hb=f28cc25929c4e8a111e96b2205a0433542b35e84;hp=34fa6951cefa3bdb6696bb5b08f35522d939cccb;hpb=751d30e79d617c46d818f0233f3bf6df466db4db;p=fs%2Flustre-release.git diff --git a/lustre/tests/lockorder.sh b/lustre/tests/lockorder.sh index 34fa695..122df46 100644 --- a/lustre/tests/lockorder.sh +++ b/lustre/tests/lockorder.sh @@ -7,17 +7,18 @@ STATMANY=${STATMANY:-statmany} UNLINKMANY=${UNLINKMANY:-unlinkmany} LCTL=${LCTL:-lctl} -MOUNT1=${MOUNT1:-/mnt/lustre1} +MOUNT=${MOUNT:-/mnt/lustre} MOUNT2=${MOUNT2:-/mnt/lustre2} -DIR=${DIR:-$MOUNT1} +DIR=${DIR:-$MOUNT} DIR2=${DIR2:-$MOUNT2} COUNT=${COUNT:-100} cleanup() { [ $CR_PID ] && kill -9 $CR_PID + [ $ST_PID ] && kill -9 $ST_PID } -trap cleanup 0 +trap cleanup EXIT LOCKDIR=$DIR/lockdir LOCKFILE=$LOCKDIR/lockfile @@ -27,12 +28,12 @@ NUM=0 MINDIR=$DIR MAXDIR=$DIR -MINRES=2000000000 +MINRES=4294967295 MAXRES=0 mkdir -p $MINDIR while [ $MINRES -gt $MAXRES ]; do FILETMP=$MINDIR/f$$${NUM} - DIRTMP=$MAXDIR/d$$${NUM} + DIRTMP=$DIR/d$$/d${NUM} touch $FILETMP mkdir -p $DIRTMP FILERES=`ls -id $FILETMP | awk '{ print $1 }'` @@ -41,26 +42,28 @@ while [ $MINRES -gt $MAXRES ]; do MAXDIR=$DIRTMP MAXRES=$DIRRES fi - if [ $FILERES -lt $MINRES ]; then + if [ $FILERES -lt $MINRES -o -z "$MINFILE" ]; then [ -f "$MINFILE" ] && rm $MINFILE MINFILE=$FILETMP MINRES=$FILERES else - rm $TMPFILE + rm $FILETMP fi NUM=$(($NUM + 1)) done mv $MAXDIR $LOCKDIR mv $MINFILE $LOCKFILE -rm -rf $DIR/d$$* +rm -rf $DIR/d$$ $LCTL mark "start dir: $LOCKDIR=$MAXRES file: $LOCKFILE=$MINRES" # link will lock $LOCKFILE and $DIR as it creates ${LOCKFILE}{0,1,...} $CREATEMANY -l$LOCKFILE $LOCKFILE -$COUNT & CR_PID=$! -sleep 1 +while ! test -f ${LOCKFILE}1 ; do + sleep 1 +done # this will lock $DIR and ${LOCKFILE}0 $STATMANY -s $DIR2/lockdir/lockfile 1 -$COUNT & @@ -74,4 +77,4 @@ trap 0 kill $CR_PID || true kill $ST_PID || true -#rm -r $PDIR +rm -rf $LOCKDIR