dm integrity: Use %*ph for printing hexdump of a small buffer
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 12 Jun 2023 21:47:51 +0000 (00:47 +0300)
committerMike Snitzer <snitzer@kernel.org>
Thu, 22 Jun 2023 22:39:50 +0000 (18:39 -0400)
The kernel already has a helper to print a hexdump of a small
buffer via pointer extension. Use that instead of open coded
variant.

In long term it helps to kill pr_cont() or at least narrow down
its use.

Note, the format is slightly changed, i.e. the trailing space is
always printed. Also the IV dump is limited by 64 bytes which seems
fine.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm-integrity.c

index 31838b1..5e5f1c0 100644 (file)
@@ -342,24 +342,9 @@ static struct kmem_cache *journal_io_cache;
 #define JOURNAL_IO_MEMPOOL     32
 
 #ifdef DEBUG_PRINT
-#define DEBUG_print(x, ...)    printk(KERN_DEBUG x, ##__VA_ARGS__)
-static void __DEBUG_bytes(__u8 *bytes, size_t len, const char *msg, ...)
-{
-       va_list args;
-
-       va_start(args, msg);
-       vprintk(msg, args);
-       va_end(args);
-       if (len)
-               pr_cont(":");
-       while (len) {
-               pr_cont(" %02x", *bytes);
-               bytes++;
-               len--;
-       }
-       pr_cont("\n");
-}
-#define DEBUG_bytes(bytes, len, msg, ...)      __DEBUG_bytes(bytes, len, KERN_DEBUG msg, ##__VA_ARGS__)
+#define DEBUG_print(x, ...)                    printk(KERN_DEBUG x, ##__VA_ARGS__)
+#define DEBUG_bytes(bytes, len, msg, ...)      printk(KERN_DEBUG msg "%s%*ph\n", ##__VA_ARGS__, \
+                                                      len ? ": " : "", len, bytes)
 #else
 #define DEBUG_print(x, ...)                    do { } while (0)
 #define DEBUG_bytes(bytes, len, msg, ...)      do { } while (0)