X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Ftests%2Flockorder.sh;h=122df46b0e5b6a072bb5752357b3463e454b7df3;hp=cf5051b5270065d5cab75005755f693ce4ff7821;hb=26cc6c4228ae19a8dd522042060852f50bbb621a;hpb=d9694cb64f8b3d4762a06520ced4edcb8235ec30 diff --git a/lustre/tests/lockorder.sh b/lustre/tests/lockorder.sh index cf5051b..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 &