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