From 684e1db967f8b9c8f06fae3f77075493ef1085df Mon Sep 17 00:00:00 2001 From: pschwan Date: Tue, 21 Jan 2003 18:02:27 +0000 Subject: [PATCH] Merge b_intent into b_md: ** You will need to update your kernel, Lustre patch version 8 ** Highlights: - the MDS now returns a block count for non-regular files (for which it has the authoritative size information) - we set a DCACHE_LUSTRE_INVALID flag on dentries when we alienate them; this flag is now used in the VFS to help us avoid a race condition with revalidate2 and dentry alienation - remove the ldlm_lock_match CBPENDING flag, which severely violates a DLM invariant - fix enqueue_ordered_lock matching - we reintroduced bug 72 by accident; fixed again, with a better comment. - small fixes to create.pl/rename.pl --- lustre/tests/acceptance-metadata-single.sh | 96 ++++++++++++++++++++++++++++++ lustre/tests/rename.pl | 7 ++- 2 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 lustre/tests/acceptance-metadata-single.sh diff --git a/lustre/tests/acceptance-metadata-single.sh b/lustre/tests/acceptance-metadata-single.sh new file mode 100644 index 0000000..77bddbe --- /dev/null +++ b/lustre/tests/acceptance-metadata-single.sh @@ -0,0 +1,96 @@ +#!/bin/sh +set -e + +# +# Runs create.pl and rename.pl on a single mountpoint with increasing +# load, varying debug levels +# + +SRCDIR="`dirname $0`/" +. $SRCDIR/common.sh + +MNT=${MNT:-/mnt/lustre} + +debug_client_on +echo "create.pl, 1 mount, 1 thread, 10 ops, debug on" +perl create.pl -- $MNT -1 10 +echo "create.pl, 1 mount, 1 thread, 100 ops, debug on" +perl create.pl --silent -- $MNT -1 100 +echo "rename.pl, 1 mount, 1 thread, 10 ops, debug on" +perl rename.pl $MNT 10 +echo "rename.pl, 1 mount, 1 thread, 100 ops, debug on" +perl rename.pl --silent $MNT 100 + +debug_client_off +echo "create.pl, 1 mount, 1 thread, 1000 ops, debug off" +perl create.pl --silent -- $MNT -1 1000 +echo "rename.pl, 1 mount, 1 thread, 1000 ops, debug off" +perl rename.pl --silent $MNT 1000 + +debug_client_on +echo "create.pl, 1 mount, 2 threads, 100 ops, debug on" +perl create.pl --silent -- $MNT -1 100 & +perl create.pl --silent -- $MNT -1 100 & +wait +echo "rename.pl, 1 mount, 2 thread, 1000 ops, debug on" +perl rename.pl --silent $MNT 1000 & +perl rename.pl --silent $MNT 1000 & +wait + +debug_client_off +echo "create.pl, 1 mount, 2 threads, 2000 ops, debug off" +perl create.pl --silent -- $MNT -1 2000 & +perl create.pl --silent -- $MNT -1 2000 & +wait +echo "rename.pl, 1 mount, 2 threads, 2000 ops, debug off" +perl rename.pl --silent $MNT 2000 & +perl rename.pl --silent $MNT 2000 & +wait + +debug_client_on +echo "create.pl, 1 mount, 4 threads, 100 ops, debug on" +for i in `seq 1 4`; do + perl create.pl --silent -- $MNT -1 100 & +done +wait +echo "rename.pl, 1 mount, 4 threads, 2000 ops, debug on" +for i in `seq 1 4`; do + perl rename.pl --silent $MNT 2000 & +done +wait + +debug_client_off +echo "create.pl, 1 mount, 4 threads, 2000 ops, debug off" +for i in `seq 1 4`; do + perl create.pl --silent -- $MNT -1 2000 & +done +wait +echo "rename.pl, 1 mount, 4 threads, 2000 ops, debug off" +for i in `seq 1 4`; do + perl rename.pl --silent $MNT 2000 & +done +wait + +debug_client_on +echo "create.pl, 1 mount, 8 threads, 100 ops, debug on" +for i in `seq 1 8`; do + perl create.pl --silent -- $MNT -1 100 & +done +wait +echo "rename.pl, 1 mount, 8 threads, 2000 ops, debug on" +for i in `seq 1 8`; do + perl rename.pl --silent $MNT 2000 & +done +wait + +debug_client_off +echo "create.pl, 1 mount, 8 threads, 2000 ops, debug off" +for i in `seq 1 8`; do + perl create.pl --silent -- $MNT -1 2000 & +done +wait +echo "rename.pl, 1 mount, 8 threads, 2000 ops, debug off" +for i in `seq 1 8`; do + perl rename.pl --silent $MNT 2000 & +done +wait diff --git a/lustre/tests/rename.pl b/lustre/tests/rename.pl index b737bc5..47b8b44 100644 --- a/lustre/tests/rename.pl +++ b/lustre/tests/rename.pl @@ -21,6 +21,7 @@ GetOptions("silent!"=> \$silent, my $mtpt = shift || usage(); my $i = shift || usage(); +my $total = $i; my $files = 6; my $dirs = 3; my $mcreate = 0; # should we use mcreate or open? @@ -41,7 +42,6 @@ while ($k--) { $j = $files; while ($j--) { `./mcreate $path/$j`; - print "mcreate $path/$j failed\n" if $?; } } @@ -53,8 +53,11 @@ while ($i--) { $d = int(rand() * $dirs); $f1 = int(rand() * $files); $f2 = int(rand() * $files); - print "[$$] $mtpt$which/$d/$f1 $mtpt$which/$d/$f2 ...\n"; + print "[$$] $mtpt$which/$d/$f1 $mtpt$which/$d/$f2 ...\n" if !$silent; my $rc = rename "$mtpt$which/$d/$f1", "$mtpt$which/$d/$f2"; print "[$$] done: $rc\n" if !$silent; + if (($total - $i) % 100 == 0) { + print STDERR "[" . $$ . "]" . ($total - $i) . " operations\n"; + } } print "Done.\n"; -- 1.8.3.1