Running sanity test_103b may start up to 512 parallel threads for
running the test, each of which starts two bash processes and lfs
or rm processes.
For the VMs running in our testbed (esp. ARM with 64KB PAGE_SIZE)
this can trigger the OOM killer and cause the test to fail if bash
is killed. Limit the number of started bash processes to avoid this.
Fixes:
543f1fbe260 ("LU-10830 utils: fix create mode for lfs")
Test-Parameters: trivial clientarch=aarch64
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I82c322013da91d717924e2c664fa57ad4e3ebbe5
Reviewed-on: https://review.whamcloud.com/34082
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Elena Gryaznova <c17455@cray.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
run_test 103a "acl test"
test_103b() {
+ declare -a pids
local U
for U in {0..511}; do
error "lfs setstripe -N2 $DIR/$tfile.m$O '$S' != '$O'"
rm -f $DIR/$tfile.[smp]$0
} &
+ local pid=$!
+
+ # limit the concurrently running threads to 64. LU-11878
+ local idx=$((U % 64))
+ [ -z "${pids[idx]}" ] || wait ${pids[idx]}
+ pids[idx]=$pid
done
wait
}