The test could fail because of a race condition between the files being
generated in the background and attempting to move the files. Wait for
all file generation to complete before trying to move the files around.
Also, clean up the waiting: the 'wait' command without arguments waits
for all child pids.
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Chris Dunlop <chris@onthe.net.au>
Closes #7220
Closes #7242
Closes #7258
}
-function wait_pid
-{
- for pid in $1
- do
- ps -e | grep $pid >/dev/null 2>&1
- (( $? == 0 )) && wait $pid
- done
-}
-
-
#
# Generate given number files in a
# directory of zfs file system
cp /etc/passwd $1/file_$count \
> /dev/null 2>&1 &
- PIDS="$PIDS $!"
+ (( proc_num = proc_num + 1 ))
- proc_num=`echo $PIDS | wc -w`
if (( proc_num >= GANGPIDS )); then
- wait_pid "$PIDS"
+ wait
proc_num=0
- PIDS=""
fi
(( count = count + 1 ))
done
+ wait
}
#