]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libmount: clean up debug, add help debug mask
authorKarel Zak <kzak@redhat.com>
Mon, 3 Nov 2014 12:13:12 +0000 (13:13 +0100)
committerKarel Zak <kzak@redhat.com>
Mon, 3 Nov 2014 12:13:12 +0000 (13:13 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
libmount/src/init.c
libmount/src/mountP.h

index 6bf97206ad9d44ca0bdc1226ed5dd4dac47ad2b8..bd0669a4be5bf524d64135e7262871630b0f5589 100644 (file)
 UL_DEBUG_DEFINE_MASK(libmount);
 UL_DEBUG_DEFINE_MASKNAMES(libmount) =
 {
-       { "all", MNT_DEBUG_ALL },
-       { "init", MNT_DEBUG_INIT },
-       { "cache", MNT_DEBUG_CACHE },
-       { "options", MNT_DEBUG_OPTIONS },
-       { "locks", MNT_DEBUG_LOCKS },
-       { "tab", MNT_DEBUG_TAB },
-       { "fs", MNT_DEBUG_FS },
-       { "opts", MNT_DEBUG_OPTS },
-       { "update", MNT_DEBUG_UPDATE },
-       { "utils", MNT_DEBUG_UTILS },
-       { "cxt", MNT_DEBUG_CXT },
-       { "diff", MNT_DEBUG_DIFF },
+       { "all", MNT_DEBUG_ALL,         "info about all subsystems" },
+       { "cache", MNT_DEBUG_CACHE,     "paths and tags cache" },
+       { "cxt", MNT_DEBUG_CXT,         "library context (handler)" },
+       { "diff", MNT_DEBUG_DIFF,       "mountinfo changes tracking" },
+       { "fs", MNT_DEBUG_FS,           "FS abstraction" },
+       { "help", MNT_DEBUG_HELP,       "this help" },
+       { "locks", MNT_DEBUG_LOCKS,     "mtab and utab locking" },
+       { "options", MNT_DEBUG_OPTIONS, "mount options parsing" },
+       { "tab", MNT_DEBUG_TAB,         "fstab, mtab, moutninfo routines" },
+       { "update", MNT_DEBUG_UPDATE,   "mtab, utab updates" },
+       { "utils", MNT_DEBUG_UTILS,     "misc library utils" },
        { NULL, 0 }
 };
 
@@ -45,20 +44,28 @@ UL_DEBUG_DEFINE_MASKNAMES(libmount) =
  */
 void mnt_init_debug(int mask)
 {
+       if (libmount_debug_mask)
+               return;
+
        __UL_INIT_DEBUG(libmount, MNT_DEBUG_, mask, LIBMOUNT_DEBUG);
 
-       if (libmount_debug_mask != MNT_DEBUG_INIT) {
+       if (libmount_debug_mask != MNT_DEBUG_INIT
+           && libmount_debug_mask != (MNT_DEBUG_HELP|MNT_DEBUG_INIT)) {
                const char *ver = NULL;
                const char **features = NULL, **p;
 
                mnt_get_library_version(&ver);
                mnt_get_library_features(&features);
 
+               DBG(INIT, ul_debug("library debug mask: 0x%04x", libmount_debug_mask));
                DBG(INIT, ul_debug("library version: %s", ver));
                p = features;
                while (p && *p)
                        DBG(INIT, ul_debug("    feature: %s", *p++));
        }
+
+       ON_DBG(HELP, ul_debug_print_masks("LIBMOUNT_DEBUG",
+                               UL_DEBUG_MASKNAMES(libmount)));
 }
 
 #ifdef TEST_PROGRAM
index f2d0a57681108cd16002dd01906d72bf54d709a1..2dd9fae4658a7f3bf7666773051ef3237531c67f 100644 (file)
 /*
  * Debug
  */
+#define MNT_DEBUG_HELP         (1 << 0)
 #define MNT_DEBUG_INIT         (1 << 1)
 #define MNT_DEBUG_CACHE                (1 << 2)
 #define MNT_DEBUG_OPTIONS      (1 << 3)
 #define MNT_DEBUG_LOCKS                (1 << 4)
 #define MNT_DEBUG_TAB          (1 << 5)
 #define MNT_DEBUG_FS           (1 << 6)
-#define MNT_DEBUG_OPTS         (1 << 7)
-#define MNT_DEBUG_UPDATE       (1 << 8)
-#define MNT_DEBUG_UTILS                (1 << 9)
-#define MNT_DEBUG_CXT          (1 << 10)
-#define MNT_DEBUG_DIFF         (1 << 11)
+#define MNT_DEBUG_UPDATE       (1 << 7)
+#define MNT_DEBUG_UTILS                (1 << 8)
+#define MNT_DEBUG_CXT          (1 << 9)
+#define MNT_DEBUG_DIFF         (1 << 10)
 #define MNT_DEBUG_ALL          0xFFFF
 
 UL_DEBUG_DECLARE_MASK(libmount);