xref: /spdk/lib/ftl/ftl_debug.h (revision 488570ebd418ba07c9e69e65106dcc964f3bb41b)
1 /*   SPDX-License-Identifier: BSD-3-Clause
2  *   Copyright (c) Intel Corporation.
3  *   All rights reserved.
4  */
5 
6 #ifndef FTL_DEBUG_H
7 #define FTL_DEBUG_H
8 
9 #include "ftl_addr.h"
10 #include "ftl_band.h"
11 #include "ftl_core.h"
12 
13 #if defined(DEBUG)
14 /* Debug flags - enabled when defined */
15 #define FTL_META_DEBUG	1
16 #define FTL_DUMP_STATS	1
17 
18 #define ftl_debug(msg, ...) \
19 	SPDK_ERRLOG(msg, ## __VA_ARGS__)
20 #else
21 #define ftl_debug(msg, ...)
22 #endif
23 
24 static inline const char *
25 ftl_addr2str(struct ftl_addr addr, char *buf, size_t size)
26 {
27 	snprintf(buf, size, "(%"PRIu64")", addr.offset);
28 	return buf;
29 }
30 
31 #if defined(FTL_META_DEBUG)
32 bool ftl_band_validate_md(struct ftl_band *band);
33 void ftl_dev_dump_bands(struct spdk_ftl_dev *dev);
34 #else
35 #define ftl_band_validate_md(band)
36 #define ftl_dev_dump_bands(dev)
37 #endif
38 
39 #if defined(FTL_DUMP_STATS)
40 void ftl_dev_dump_stats(const struct spdk_ftl_dev *dev);
41 #else
42 #define ftl_dev_dump_stats(dev)
43 #endif
44 
45 #endif /* FTL_DEBUG_H */
46