]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
mkfs: move error functions
authorDave Chinner <dchinner@redhat.com>
Wed, 6 Dec 2017 23:28:02 +0000 (17:28 -0600)
committerEric Sandeen <sandeen@redhat.com>
Wed, 6 Dec 2017 23:28:02 +0000 (17:28 -0600)
Move all the error and helper functions like conflict() to the top
of the file so we can get rid of the forward declarations.

Signed-Off-By: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
mkfs/xfs_mkfs.c

index f252983b897479ede3437b07b78696aacd174f49..cc70d110ed9591760c4f117568829d1930096652 100644 (file)
 #include "xfs_multidisk.h"
 #include "libxcmd.h"
 
-/*
- * Prototypes for internal functions.
- */
-static void conflict(char opt, const char *tab[], int oldidx, int newidx);
-static void illegal(const char *value, const char *opt);
-static __attribute__((noreturn)) void usage (void);
-static __attribute__((noreturn)) void reqval(char opt, const char *tab[], int idx);
-static void respec(char opt, const char *tab[], int idx);
-static void unknown(char opt, char *s);
-static int  ispow2(unsigned int i);
 
 /*
  * XXX: The configured block and sector sizes are defined as global variables so
@@ -907,6 +897,163 @@ struct mkfs_default_params {
  */
 #define WHACK_SIZE (128 * 1024)
 
+static void __attribute__((noreturn))
+usage( void )
+{
+       fprintf(stderr, _("Usage: %s\n\
+/* blocksize */                [-b log=n|size=num]\n\
+/* metadata */         [-m crc=0|1,finobt=0|1,uuid=xxx,rmapbt=0|1,reflink=0|1]\n\
+/* data subvol */      [-d agcount=n,agsize=n,file,name=xxx,size=num,\n\
+                           (sunit=value,swidth=value|su=num,sw=num|noalign),\n\
+                           sectlog=n|sectsize=num\n\
+/* force overwrite */  [-f]\n\
+/* inode size */       [-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2,\n\
+                           projid32bit=0|1,sparse=0|1]\n\
+/* no discard */       [-K]\n\
+/* log subvol */       [-l agnum=n,internal,size=num,logdev=xxx,version=n\n\
+                           sunit=value|su=num,sectlog=n|sectsize=num,\n\
+                           lazy-count=0|1]\n\
+/* label */            [-L label (maximum 12 characters)]\n\
+/* naming */           [-n log=n|size=num,version=2|ci,ftype=0|1]\n\
+/* no-op info only */  [-N]\n\
+/* prototype file */   [-p fname]\n\
+/* quiet */            [-q]\n\
+/* realtime subvol */  [-r extsize=num,size=num,rtdev=xxx]\n\
+/* sectorsize */       [-s log=n|size=num]\n\
+/* version */          [-V]\n\
+                       devicename\n\
+<devicename> is required unless -d name=xxx is given.\n\
+<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),\n\
+      xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).\n\
+<value> is xxx (512 byte blocks).\n"),
+               progname);
+       exit(1);
+}
+
+static void
+conflict(
+       char            opt,
+       const char      *tab[],
+       int             oldidx,
+       int             newidx)
+{
+       fprintf(stderr, _("Cannot specify both -%c %s and -%c %s\n"),
+               opt, tab[oldidx], opt, tab[newidx]);
+       usage();
+}
+
+
+static void
+illegal(
+       const char      *value,
+       const char      *opt)
+{
+       fprintf(stderr, _("Illegal value %s for -%s option\n"), value, opt);
+       usage();
+}
+
+static int
+ispow2(
+       unsigned int    i)
+{
+       return (i & (i - 1)) == 0;
+}
+
+static void __attribute__((noreturn))
+reqval(
+       char            opt,
+       const char      *tab[],
+       int             idx)
+{
+       fprintf(stderr, _("-%c %s option requires a value\n"), opt, tab[idx]);
+       usage();
+}
+
+static void
+respec(
+       char            opt,
+       const char      *tab[],
+       int             idx)
+{
+       fprintf(stderr, "-%c ", opt);
+       if (tab)
+               fprintf(stderr, "%s ", tab[idx]);
+       fprintf(stderr, _("option respecified\n"));
+       usage();
+}
+
+static void
+unknown(
+       char            opt,
+       char            *s)
+{
+       fprintf(stderr, _("unknown option -%c %s\n"), opt, s);
+       usage();
+}
+
+long long
+cvtnum(
+       unsigned int    blksize,
+       unsigned int    sectsize,
+       const char      *s)
+{
+       long long       i;
+       char            *sp;
+       int             c;
+
+       i = strtoll(s, &sp, 0);
+       if (i == 0 && sp == s)
+               return -1LL;
+       if (*sp == '\0')
+               return i;
+
+       if (sp[1] != '\0')
+               return -1LL;
+
+       if (*sp == 'b') {
+               if (!blksize) {
+                       fprintf(stderr,
+_("Blocksize must be provided prior to using 'b' suffix.\n"));
+                       usage();
+               } else {
+                       return i * blksize;
+               }
+       }
+       if (*sp == 's') {
+               if (!sectsize) {
+                       fprintf(stderr,
+_("Sectorsize must be specified prior to using 's' suffix.\n"));
+                       usage();
+               } else {
+                       return i * sectsize;
+               }
+       }
+
+       c = tolower(*sp);
+       switch (c) {
+       case 'e':
+               i *= 1024LL;
+               /* fall through */
+       case 'p':
+               i *= 1024LL;
+               /* fall through */
+       case 't':
+               i *= 1024LL;
+               /* fall through */
+       case 'g':
+               i *= 1024LL;
+               /* fall through */
+       case 'm':
+               i *= 1024LL;
+               /* fall through */
+       case 'k':
+               return i * 1024LL;
+       default:
+               break;
+       }
+       return -1LL;
+}
+
 static void
 check_device_type(
        const char      *name,
@@ -3959,160 +4106,3 @@ main(
 
        return 0;
 }
-
-static void
-conflict(
-       char            opt,
-       const char      *tab[],
-       int             oldidx,
-       int             newidx)
-{
-       fprintf(stderr, _("Cannot specify both -%c %s and -%c %s\n"),
-               opt, tab[oldidx], opt, tab[newidx]);
-       usage();
-}
-
-
-static void
-illegal(
-       const char      *value,
-       const char      *opt)
-{
-       fprintf(stderr, _("Illegal value %s for -%s option\n"), value, opt);
-       usage();
-}
-
-static int
-ispow2(
-       unsigned int    i)
-{
-       return (i & (i - 1)) == 0;
-}
-
-static void __attribute__((noreturn))
-reqval(
-       char            opt,
-       const char      *tab[],
-       int             idx)
-{
-       fprintf(stderr, _("-%c %s option requires a value\n"), opt, tab[idx]);
-       usage();
-}
-
-static void
-respec(
-       char            opt,
-       const char      *tab[],
-       int             idx)
-{
-       fprintf(stderr, "-%c ", opt);
-       if (tab)
-               fprintf(stderr, "%s ", tab[idx]);
-       fprintf(stderr, _("option respecified\n"));
-       usage();
-}
-
-static void
-unknown(
-       char            opt,
-       char            *s)
-{
-       fprintf(stderr, _("unknown option -%c %s\n"), opt, s);
-       usage();
-}
-
-long long
-cvtnum(
-       unsigned int    blksize,
-       unsigned int    sectsize,
-       const char      *s)
-{
-       long long       i;
-       char            *sp;
-       int             c;
-
-       i = strtoll(s, &sp, 0);
-       if (i == 0 && sp == s)
-               return -1LL;
-       if (*sp == '\0')
-               return i;
-
-       if (sp[1] != '\0')
-               return -1LL;
-
-       if (*sp == 'b') {
-               if (!blksize) {
-                       fprintf(stderr,
-_("Blocksize must be provided prior to using 'b' suffix.\n"));
-                       usage();
-               } else {
-                       return i * blksize;
-               }
-       }
-       if (*sp == 's') {
-               if (!sectsize) {
-                       fprintf(stderr,
-_("Sectorsize must be specified prior to using 's' suffix.\n"));
-                       usage();
-               } else {
-                       return i * sectsize;
-               }
-       }
-
-       c = tolower(*sp);
-       switch (c) {
-       case 'e':
-               i *= 1024LL;
-               /* fall through */
-       case 'p':
-               i *= 1024LL;
-               /* fall through */
-       case 't':
-               i *= 1024LL;
-               /* fall through */
-       case 'g':
-               i *= 1024LL;
-               /* fall through */
-       case 'm':
-               i *= 1024LL;
-               /* fall through */
-       case 'k':
-               return i * 1024LL;
-       default:
-               break;
-       }
-       return -1LL;
-}
-
-static void __attribute__((noreturn))
-usage( void )
-{
-       fprintf(stderr, _("Usage: %s\n\
-/* blocksize */                [-b log=n|size=num]\n\
-/* metadata */         [-m crc=0|1,finobt=0|1,uuid=xxx,rmapbt=0|1,reflink=0|1]\n\
-/* data subvol */      [-d agcount=n,agsize=n,file,name=xxx,size=num,\n\
-                           (sunit=value,swidth=value|su=num,sw=num|noalign),\n\
-                           sectlog=n|sectsize=num\n\
-/* force overwrite */  [-f]\n\
-/* inode size */       [-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2,\n\
-                           projid32bit=0|1,sparse=0|1]\n\
-/* no discard */       [-K]\n\
-/* log subvol */       [-l agnum=n,internal,size=num,logdev=xxx,version=n\n\
-                           sunit=value|su=num,sectlog=n|sectsize=num,\n\
-                           lazy-count=0|1]\n\
-/* label */            [-L label (maximum 12 characters)]\n\
-/* naming */           [-n log=n|size=num,version=2|ci,ftype=0|1]\n\
-/* no-op info only */  [-N]\n\
-/* prototype file */   [-p fname]\n\
-/* quiet */            [-q]\n\
-/* realtime subvol */  [-r extsize=num,size=num,rtdev=xxx]\n\
-/* sectorsize */       [-s log=n|size=num]\n\
-/* version */          [-V]\n\
-                       devicename\n\
-<devicename> is required unless -d name=xxx is given.\n\
-<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),\n\
-      xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).\n\
-<value> is xxx (512 byte blocks).\n"),
-               progname);
-       exit(1);
-}