Commit 0970a22e authored by Nikolay Borisov's avatar Nikolay Borisov Committed by David Sterba
Browse files

btrfs: make btrfs_print_data_csum_error take btrfs_inode

parent 4ac1f4ac
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -324,21 +324,21 @@ static inline void btrfs_inode_resume_unlocked_dio(struct inode *inode)
		  &BTRFS_I(inode)->runtime_flags);
}

static inline void btrfs_print_data_csum_error(struct inode *inode,
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 = BTRFS_I(inode)->root;
	struct btrfs_root *root = inode->root;

	/* Output minus objectid, which is more meaningful */
	if (root->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",
			root->objectid, btrfs_ino(BTRFS_I(inode)),
			root->objectid, btrfs_ino(inode),
			logical_start, csum, 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",
			root->objectid, btrfs_ino(BTRFS_I(inode)),
			root->objectid, btrfs_ino(inode),
			logical_start, csum, csum_expected, mirror_num);
}

+3 −2
Original line number Diff line number Diff line
@@ -124,7 +124,8 @@ static int check_compressed_csum(struct inode *inode,
		kunmap_atomic(kaddr);

		if (csum != *cb_sum) {
			btrfs_print_data_csum_error(inode, disk_start, csum,
			btrfs_print_data_csum_error(BTRFS_I(inode),
					disk_start, csum,
					*cb_sum, cb->mirror_num);
			ret = -EIO;
			goto fail;
+1 −1
Original line number Diff line number Diff line
@@ -3032,7 +3032,7 @@ static int __readpage_endio_check(struct inode *inode,
	kunmap_atomic(kaddr);
	return 0;
zeroit:
	btrfs_print_data_csum_error(inode, start, csum, csum_expected,
	btrfs_print_data_csum_error(BTRFS_I(inode), start, csum, csum_expected,
				    io_bio->mirror_num);
	memset(kaddr + pgoff, 1, len);
	flush_dcache_page(page);