X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Ftests%2Fsanityn.sh;h=a3d505d0efeeb378ce4427eecb3e83f74aa8cc54;hp=586fbce5bf735806b0639dbe38722eb58f4c4ba3;hb=43ac1425ad9e8c5fc1e7deff579a443b5c9c7a58;hpb=ceadadb374f892e9bc3ae96633b74668749faa72 diff --git a/lustre/tests/sanityn.sh b/lustre/tests/sanityn.sh index 586fbce..a3d505d 100755 --- a/lustre/tests/sanityn.sh +++ b/lustre/tests/sanityn.sh @@ -3123,31 +3123,47 @@ nrs_write_read() { chmod 777 $dir do_nodes $CLIENTS $myRUNAS \ - dd if=/dev/zero of="$dir/nrs_r_$HOSTNAME" bs=1M count=$n || + dd if=/dev/zero of="$dir/nrs_r_\$HOSTNAME" bs=1M count=$n || error "dd at 0 on client failed (1)" - for ((i = 0; i < $n; i++)); do - do_nodes $CLIENTS $myRUNAS dd if=/dev/zero \ - of="$dir/nrs_w_$HOSTNAME" bs=1M seek=$i count=1 || - error "dd at ${i}MB on client failed (2)" & - local pids_w[$i]=$! - done + do_nodes $CLIENTS $myRUNAS \ + "declare -a pids_w; + for ((i = 0; i < $n; i++)); do + dd if=/dev/zero of=$dir/nrs_w_\$HOSTNAME bs=1M \ +seek=\\\$i count=1 conv=notrunc & + pids_w[\\\$i]=\\\$!; + done; + rc_w=0; + for ((i = 0; i < $n; i++)); do + wait \\\${pids_w[\\\$i]}; + newrc=\\\$?; + [ \\\$newrc -gt \\\$rc_w ] && rc_w=\\\$newrc; + done; + exit \\\$rc_w" & + local pid_w=$! do_nodes $CLIENTS sync; cancel_lru_locks osc - for ((i = 0; i < $n; i++)); do - do_nodes $CLIENTS $myRUNAS dd if="$dir/nrs_w_$HOSTNAME" \ - of=/dev/zero bs=1M seek=$i count=1 > /dev/null || - error "dd at ${i}MB on client failed (3)" & - local pids_r[$i]=$! - done + do_nodes $CLIENTS $myRUNAS \ + "declare -a pids_r; + for ((i = 0; i < $n; i++)); do + dd if=$dir/nrs_r_\$HOSTNAME bs=1M of=/dev/null \ +seek=\\\$i count=1 & + pids_r[\\\$i]=\\\$!; + done; + rc_r=0; + for ((i = 0; i < $n; i++)); do + wait \\\${pids_r[\\\$i]}; + newrc=\\\$?; + [ \\\$newrc -gt \\\$rc_r ] && rc_r=\\\$newrc; + done; + exit \\\$rc_r" & + local pid_r=$! cancel_lru_locks osc - for ((i = 0; i < $n; i++)); do - wait ${pids_w[$i]} - wait ${pids_r[$i]} - done - rm -rf $dir || error "rm -rf $dir failed" + wait $pid_w || error "dd (write) failed (2)" + wait $pid_r || error "dd (read) failed (3)" + rm -rvf $dir || error "rm -rf $dir failed" } test_77a() { #LU-3266