From: Johannes Thumshirn <jthumshirn@suse.de>
To: David Sterba <dsterba@suse.com>
Cc: Linux BTRFS Mailinglist <linux-btrfs@vger.kernel.org>,
Chris Mason <clm@fb.com>, Richard Weinberger <richard@nod.at>,
David Gstir <david@sigma-star.at>,
Nikolay Borisov <nborisov@suse.com>,
Johannes Thumshirn <jthumshirn@suse.de>
Subject: [PATCH v4 06/13] btrfs: format checksums according to type for printing
Date: Mon, 3 Jun 2019 16:58:52 +0200 [thread overview]
Message-ID: <20190603145859.7176-7-jthumshirn@suse.de> (raw)
In-Reply-To: <20190603145859.7176-1-jthumshirn@suse.de>
Add a small helper for btrfs_print_data_csum_error() which formats the
checksum according to it's type for pretty printing.
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
---
Changes to v3:
- Change the helper function to macros
---
fs/btrfs/btrfs_inode.h | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h
index d5b438706b77..4543f4864b2d 100644
--- a/fs/btrfs/btrfs_inode.h
+++ b/fs/btrfs/btrfs_inode.h
@@ -337,22 +337,31 @@ static inline void btrfs_inode_resume_unlocked_dio(struct btrfs_inode *inode)
clear_bit(BTRFS_INODE_READDIO_NEED_LOCK, &inode->runtime_flags);
}
+#define CSUM_FORMAT "0x%*phN"
+#define CSUM_FORMAT_VALUE(size, bytes) size, bytes
+
static inline void btrfs_print_data_csum_error(struct btrfs_inode *inode,
u64 logical_start, u32 csum, u32 csum_expected, int mirror_num)
{
struct btrfs_root *root = inode->root;
+ struct btrfs_super_block *sb = root->fs_info->super_copy;
+ u16 csum_size = btrfs_super_csum_size(sb);
/* Output minus objectid, which is more meaningful */
if (root->root_key.objectid >= BTRFS_LAST_FREE_OBJECTID)
btrfs_warn_rl(root->fs_info,
- "csum failed root %lld ino %lld off %llu csum 0x%08x expected csum 0x%08x mirror %d",
+ "csum failed root %lld ino %lld off %llu csum " CSUM_FORMAT " expected csum " CSUM_FORMAT " mirror %d",
root->root_key.objectid, btrfs_ino(inode),
- logical_start, csum, csum_expected, mirror_num);
+ logical_start, CSUM_FORMAT_VALUE(csum_size, &csum),
+ CSUM_FORMAT_VALUE(csum_size, &csum_expected),
+ mirror_num);
else
btrfs_warn_rl(root->fs_info,
- "csum failed root %llu ino %llu off %llu csum 0x%08x expected csum 0x%08x mirror %d",
+ "csum failed root %llu ino %llu off %llu csum " CSUM_FORMAT " expected csum " CSUM_FORMAT " mirror %d",
root->root_key.objectid, btrfs_ino(inode),
- logical_start, csum, csum_expected, mirror_num);
+ logical_start, CSUM_FORMAT_VALUE(csum_size, &csum),
+ CSUM_FORMAT_VALUE(csum_size, &csum_expected),
+ mirror_num);
}
#endif
--
2.16.4
next prev parent reply other threads:[~2019-06-03 14:59 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-03 14:58 [PATCH v4 00/13] Add support for other checksums Johannes Thumshirn
2019-06-03 14:58 ` [PATCH v4 01/13] btrfs: use btrfs_csum_data() instead of directly calling crc32c Johannes Thumshirn
2019-06-03 14:58 ` [PATCH v4 02/13] btrfs: resurrect btrfs_crc32c() Johannes Thumshirn
2019-06-03 14:58 ` [PATCH v4 03/13] btrfs: use btrfs_crc32c{,_final}() in for free space cache Johannes Thumshirn
2019-06-03 14:58 ` [PATCH v4 04/13] btrfs: don't assume ordered sums to be 4 bytes Johannes Thumshirn
2019-06-03 14:58 ` [PATCH v4 05/13] btrfs: dont assume compressed_bio " Johannes Thumshirn
2019-06-03 14:58 ` Johannes Thumshirn [this message]
2019-06-03 16:13 ` [PATCH v4 06/13] btrfs: format checksums according to type for printing David Sterba
2019-06-03 14:58 ` [PATCH v4 07/13] btrfs: add common checksum type validation Johannes Thumshirn
2019-06-03 14:58 ` [PATCH v4 08/13] btrfs: check for supported superblock checksum type before checksum validation Johannes Thumshirn
2019-06-03 14:58 ` [PATCH v4 09/13] btrfs: Simplify btrfs_check_super_csum() and get rid of size assumptions Johannes Thumshirn
2019-06-03 14:58 ` [PATCH v4 10/13] btrfs: add boilerplate code for directly including the crypto framework Johannes Thumshirn
2019-06-03 16:42 ` David Sterba
2019-06-03 14:58 ` [PATCH v4 11/13] btrfs: directly call into crypto framework for checsumming Johannes Thumshirn
2019-06-03 16:50 ` David Sterba
2019-06-03 14:58 ` [PATCH v4 12/13] btrfs: remove assumption about csum type form btrfs_print_data_csum_error() Johannes Thumshirn
2019-06-03 14:58 ` [PATCH v4 13/13] btrfs: add sha256 as another checksum algorithm Johannes Thumshirn
2019-06-03 18:30 ` [PATCH v4 00/13] Add support for other checksums David Sterba
2019-06-03 19:27 ` John Dorminy
2019-06-04 7:37 ` Johannes Thumshirn
2019-06-04 9:15 ` David Sterba
2019-06-04 9:25 ` David Sterba
2019-06-03 19:56 ` waxhead
2019-06-04 7:41 ` Johannes Thumshirn
2019-06-04 9:30 ` David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190603145859.7176-7-jthumshirn@suse.de \
--to=jthumshirn@suse.de \
--cc=clm@fb.com \
--cc=david@sigma-star.at \
--cc=dsterba@suse.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=nborisov@suse.com \
--cc=richard@nod.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox