Whamcloud - gitweb
LU-14876 out: don't connect to busy MDS-MDS export
[fs/lustre-release.git] / lustre / tests / unlinkmany.c
index 8179896..1cc3de5 100644 (file)
@@ -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.
  * in the LICENSE file that accompanied this code).
  *
  * You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see [sun.com URL with a
- * copy of GPLv2].
- *
- * 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.
+ * version 2 along with this program; If not, see
+ * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * GPL HEADER END
  */
 /*
- * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
  */
 
 #include <stdio.h>
 
 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;
 }