Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 192000dd authored by Liu Bo's avatar Liu Bo Committed by Josef Bacik
Browse files

Btrfs: use right range to find checksum for compressed extents



For compressed extents, the range of checksum is covered by disk length,
and the disk length is different with ram length, so we need to use disk
length instead to get us the right checksum.

Signed-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
parent b0175117
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -3357,6 +3357,11 @@ static int log_one_extent(struct btrfs_trans_handle *trans,
	if (skip_csum)
		return 0;

	if (em->compress_type) {
		csum_offset = 0;
		csum_len = block_len;
	}

	/* block start is already adjusted for the file extent offset. */
	ret = btrfs_lookup_csums_range(log->fs_info->csum_root,
				       em->block_start + csum_offset,