X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Funlinkmany.c;h=1cc3de58afec57b92fb22478d662468473992932;hb=1a8fe55b17ac2bc2195aaba446467ccdac67b564;hp=39bf6c57a0c25cfae58f263bbe37ff8556f6dfe4;hpb=0f8dca08a4f68cba82c2c822998ecc309d3b7aaf;p=fs%2Flustre-release.git diff --git a/lustre/tests/unlinkmany.c b/lustre/tests/unlinkmany.c index 39bf6c5..1cc3de5 100644 --- a/lustre/tests/unlinkmany.c +++ b/lustre/tests/unlinkmany.c @@ -1,6 +1,4 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * +/* * GPL HEADER START * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -17,11 +15,7 @@ * * You should have received a copy of the GNU General Public License * version 2 along with this program; If not, see - * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * http://www.gnu.org/licenses/gpl-2.0.html * * GPL HEADER END */ @@ -31,7 +25,6 @@ */ /* * This file is part of Lustre, http://www.lustre.org/ - * Lustre is a trademark of Sun Microsystems, Inc. */ #include @@ -46,22 +39,27 @@ void usage(char *prog) { - printf("usage: %s filenamefmt count\n", prog); - printf(" %s filenamefmt start count\n", prog); + printf("usage: %s [option] filenamefmt count\n", prog); + printf(" %s [option] filenamefmt start count\n", prog); + printf("Options are:\n"); + printf(" -d : remove directory\n"); + printf("Examples:\n"); + printf("unlinkmany $DIR/dir 100 # Remove file dir0..dir99\n"); + printf("unlinkmany -d $DIR/dir 100 # Remove directory dir0..dir99\n"); } -int main(int argc, char ** argv) +int main(int argc, char **argv) { - int i, rc = 0, do_rmdir = 0; - char format[4096], *fmt; - char filename[4096]; - long start, last; + int i, rc = 0, do_rmdir = 0; + char format[4096], *fmt; + char filename[4096]; + long start, last; long begin = 0, count; - if (argc < 3 || argc > 5) { + if (argc < 3 || argc > 5) { usage(argv[0]); - return 1; - } + return 1; + } if (strcmp(argv[1], "-d") == 0) { do_rmdir = 1; @@ -69,19 +67,20 @@ int main(int argc, char ** argv) argc--; } - if (strlen(argv[1]) > 4080) { - printf("name too long\n"); - return 1; - } + if (strlen(argv[1]) > 4080) { + printf("name too long\n"); + return 1; + } - start = last = time(0); + start = time(0); + last = start; if (argc == 3) { count = strtol(argv[2], NULL, 0); if (count < 1) { - printf("count must be at least one\n"); - return 1; - } + printf("count must be at least one\n"); + return 1; + } } else { begin = strtol(argv[2], NULL, 0); count = strtol(argv[3], NULL, 0); @@ -89,32 +88,32 @@ int main(int argc, char ** argv) if (strchr(argv[1], '%')) { fmt = argv[1]; - } else { + } else { sprintf(format, "%s%%d", argv[1]); fmt = format; } - for (i = 0; i < count; i++, begin++) { - sprintf(filename, fmt, begin); + + for (i = 0; i < count; i++, begin++) { + sprintf(filename, fmt, begin); if (do_rmdir) rc = rmdir(filename); else rc = unlink(filename); - if (rc) { - printf("%s(%s) error: %s\n", + if (rc) { + printf("%s(%s) error: %s\n", do_rmdir ? "rmdir" : "unlink", - filename, strerror(errno)); - rc = errno; - break; - } - if ((i % 10000) == 0) { - printf(" - unlinked %d (time %ld ; total %ld ; last " - "%ld)\n", i, time(0), time(0) - start, - time(0) - last); - last = time(0); - } - } - printf("total: %d unlinks in %ld seconds: %f unlinks/second\n", i, - time(0) - start, ((float)i / (time(0) - start))); + filename, strerror(errno)); + rc = errno; + break; + } + if ((i % 10000) == 0) { + printf(" - unlinked %d (time %ld ; total %ld ; last %ld)\n", + i, time(0), time(0) - start, time(0) - last); + last = time(0); + } + } + printf("total: %d unlinks in %ld seconds: %f unlinks/second\n", i, + time(0) - start, ((float)i / (time(0) - start))); - return rc; + return rc; }