diff options
author | Jakob Unterwurzacher | 2016-05-24 21:08:13 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2016-05-24 21:09:26 +0200 |
commit | b467e7509e367f11784c20cb9ac8eef3c74c7468 (patch) | |
tree | 193ae695cb33c670e480f3e5d7eb8f66627a32e3 /stress_tests/extractloop.bash | |
parent | 888e147cd8698ad13ddec6c5e35ca928ff701a7e (diff) |
stress_tests: add header comments
Also, convert extractloop.bash to using md5sum instead of diff -ur
so the user does not have to keep an extracted kernel tree around.
And print the iteration time.
Diffstat (limited to 'stress_tests/extractloop.bash')
-rwxr-xr-x | stress_tests/extractloop.bash | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/stress_tests/extractloop.bash b/stress_tests/extractloop.bash index a5d0539..cb67707 100755 --- a/stress_tests/extractloop.bash +++ b/stress_tests/extractloop.bash @@ -1,7 +1,19 @@ #!/bin/bash +# +# Mount a gocryptfs filesystem somewhere on /tmp, then run two parallel +# infinite loops inside that do the following: +# 1) Extract linux-3.0.tar.gz +# 2) Verify the md5sums +# 3) Delete, go to (1) +# +# This test is good at discovering inode-related memory leaks because it creates +# huge numbers of files. set -eu +cd "$(dirname "$0")" +MD5="$PWD/extractloop.md5sums" + # Setup cd /tmp wget -nv --show-progress -c https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.gz @@ -18,17 +30,23 @@ cd $DIR2 trap "cd /; fusermount -u -z $DIR2; rm -rf $DIR1 $DIR2" EXIT function loop { - # Note: $$ returns the PID of the *parent* shell + # Note: In a subshell, $$ returns the PID of the *parent* shell, + # we need our own, which is why we have to use $BASHPID. mkdir $BASHPID cd $BASHPID + echo "[pid $BASHPID] Starting loop" + N=1 while true do - echo "[pid $BASHPID] $N: $(date +%H:%M:%S)" + t1=$(date +%s) tar xf /tmp/linux-3.0.tar.gz - diff -ur linux-3.0 /tmp/linux-3.0 + md5sum --status -c $MD5 rm -Rf linux-3.0 + t2=$(date +%s) + delta=$((t2-t1)) + echo "[pid $BASHPID] Iteration $N done, $delta seconds" let N=$N+1 done } |