use vars qw(
$MAX_THREADS
+ $SCRIPT_NAME
);
# Don't try to run more than this many threads concurrently.
$MAX_THREADS = 16;
+$SCRIPT_NAME = "rename.pl";
+
# Initialize variables
my $silent = 0;
my $create_files = 1; # should we create files or not?
# Wait for all our threads to finish.
my $child = 0;
do {
- $child = waitpid(-1, WNOHANG);
+ $child = waitpid(-1, 0);
} until $child > 0;
sleep 1;
unlink("$filepath") if (-e $filepath);
}
my $rc = rmdir $path;
- print "rmdir $path failed: $!\n" if !$rc;
+ print "$SCRIPT_NAME - rmdir $path failed: $!\n" if !$rc;
}
}
}
print "\t--mountpt\tlocation of lustre mount\n";
print "\t--num_mounts=n\tnumber of lustre mounts to test across, default=-1 (single mount point without numeric suffix)\n\n";
print "example: $0 --mountpt=/mnt/lustre --num_mounts=2 --iterations=50\n";
- print " will perform 50 interations in /mnt/lustre1 and /mnt/lustre2\n";
+ print " will perform 50 iterations in /mnt/lustre1 and /mnt/lustre2\n";
print " $0 --mountpt=/mnt/lustre --num_mounts=-1 --iterations=50\n";
print " will perform 50 iterations in /mnt/lustre only\n\n";
exit;
sub create_file ($) {
my ($path) = @_;;
+ if (-e $path) {
+ warn "$path already exists!\n";
+ return 1;
+ }
+
if ($use_mcreate) {
my $tmp = `./mcreate $path`;
if ($tmp =~ /.*error: (.*)\n/) {
my $path_f1 = "${mountpt}${which}/${thread_num}.${d}/${f1}";
my $path_f2 = "${mountpt}${which}/${thread_num}.${d}/${f2}";
- print "Thread $thread_num: [$$] $path_f1 $path_f2 ...\n" if !$silent;
+ print "$SCRIPT_NAME - Thread $thread_num: [$$] $path_f1 $path_f2 ...\n" if !$silent;
my $rc = rename $path_f1, $path_f2;
- print "Thread $thread_num: [$$] done: $rc\n" if !$silent;
+ print "$SCRIPT_NAME - Thread $thread_num: [$$] done: $rc\n" if !$silent;
}
if (($current_iteration) % 100 == 0) {
- print STDERR "Thread $thread_num: " . $current_iteration . " operations [" . $$ . "]\n";
+ print "$SCRIPT_NAME - Thread $thread_num: " . $current_iteration . " operations [" . $$ . "]\n";
}
$current_iteration++;
}
- print "Thread $thread_num: Done.\n";
+ print "$SCRIPT_NAME - Thread $thread_num: Done.\n";
exit 0;