aboutsummaryrefslogtreecommitdiff
path: root/tests/stress_tests/parallel_cp.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/stress_tests/parallel_cp.sh')
-rwxr-xr-xtests/stress_tests/parallel_cp.sh15
1 files changed, 13 insertions, 2 deletions
diff --git a/tests/stress_tests/parallel_cp.sh b/tests/stress_tests/parallel_cp.sh
index b37e681..324e0c6 100755
--- a/tests/stress_tests/parallel_cp.sh
+++ b/tests/stress_tests/parallel_cp.sh
@@ -1,7 +1,16 @@
#!/bin/bash
#
# Simplified xfstests generic/273
-# See https://github.com/rfjakob/gocryptfs/issues/322
+#
+# Fails with
+#
+# cp: cannot create regular file 'sub_49/file_773': No such file or directory
+#
+# If you cannot reproduce, try running this in the background:
+#
+# while sleep 0.1 ; do echo 3 > /proc/sys/vm/drop_caches ; done"
+#
+# See https://github.com/rfjakob/gocryptfs/issues/322 for details.
echo "deleting old files"
rm -Rf origin sub_*
@@ -12,11 +21,13 @@ mkdir -p origin
for i in $(seq 1 778) ; do
dd if=/dev/zero of=origin/file_$i bs=8192 count=1 status=none
done
+# Perform the shell expansion only once and store the list
+ORIGIN_FILES=origin/*
echo -n "cp starting: "
for i in $(seq 1 100) ; do
echo -n "$i "
- (mkdir sub_$i && cp -r origin sub_$i ; echo -n "$i ") &
+ (mkdir sub_$i && cp $ORIGIN_FILES sub_$i ; echo -n "$i ") &
done
echo