68 lines
2.0 KiB
C
68 lines
2.0 KiB
C
/*
|
|
* Copyright (C) 2008-2013 Karel Zak <kzak@redhat.com>
|
|
*
|
|
* This file may be redistributed under the terms of the
|
|
* GNU Lesser General Public License.
|
|
*/
|
|
|
|
/**
|
|
* SECTION: init
|
|
* @title: Library initialization
|
|
* @short_description: initialize debugging
|
|
*/
|
|
|
|
#include <stdarg.h>
|
|
|
|
#include "blkidP.h"
|
|
|
|
UL_DEBUG_DEFINE_MASK(libblkid);
|
|
UL_DEBUG_DEFINE_MASKNAMES(libblkid) =
|
|
{
|
|
{ "all", BLKID_DEBUG_ALL, "info about all subsystems" },
|
|
{ "cache", BLKID_DEBUG_CACHE, "blkid tags cache" },
|
|
{ "config", BLKID_DEBUG_CONFIG, "config file utils" },
|
|
{ "dev", BLKID_DEBUG_DEV, "device utils" },
|
|
{ "devname", BLKID_DEBUG_DEVNAME, "/proc/partitions evaluation" },
|
|
{ "devno", BLKID_DEBUG_DEVNO, "conversions to device name" },
|
|
{ "evaluate", BLKID_DEBUG_EVALUATE, "tags resolving" },
|
|
{ "help", BLKID_DEBUG_HELP, "this help" },
|
|
{ "lowprobe", BLKID_DEBUG_LOWPROBE, "superblock/raids/partitions probing" },
|
|
{ "buffer", BLKID_DEBUG_BUFFER, "low-probing buffers" },
|
|
{ "probe", BLKID_DEBUG_PROBE, "devices verification" },
|
|
{ "read", BLKID_DEBUG_READ, "cache parsing" },
|
|
{ "save", BLKID_DEBUG_SAVE, "cache writing" },
|
|
{ "tag", BLKID_DEBUG_TAG, "tags utils" },
|
|
{ NULL, 0, NULL }
|
|
};
|
|
|
|
/**
|
|
* blkid_init_debug:
|
|
* @mask: debug mask (0xffff to enable full debugging)
|
|
*
|
|
* If the @mask is not specified then this function reads
|
|
* LIBBLKID_DEBUG environment variable to get the mask.
|
|
*
|
|
* Already initialized debugging stuff cannot be changed. It does not
|
|
* have effect to call this function twice.
|
|
*/
|
|
void blkid_init_debug(int mask)
|
|
{
|
|
if (libblkid_debug_mask)
|
|
return;
|
|
|
|
__UL_INIT_DEBUG_FROM_ENV(libblkid, BLKID_DEBUG_, mask, LIBBLKID_DEBUG);
|
|
|
|
if (libblkid_debug_mask != BLKID_DEBUG_INIT
|
|
&& libblkid_debug_mask != (BLKID_DEBUG_HELP|BLKID_DEBUG_INIT)) {
|
|
const char *ver = NULL;
|
|
const char *date = NULL;
|
|
|
|
blkid_get_library_version(&ver, &date);
|
|
DBG(INIT, ul_debug("library debug mask: 0x%04x", libblkid_debug_mask));
|
|
DBG(INIT, ul_debug("library version: %s [%s]", ver, date));
|
|
|
|
}
|
|
ON_DBG(HELP, ul_debug_print_masks("LIBBLKID_DEBUG",
|
|
UL_DEBUG_MASKNAMES(libblkid)));
|
|
}
|