Commit 70425709 authored by wangyalong's avatar wangyalong Committed by Tomasz Zawadzki
Browse files

lib/reduce: fix the incorrect calculation method for the number of io_unit required for metadata.



backing_io_unit_size is 4kb, backing_dev->blocklen maybe 512B or 4kB.
The unit represented by the bit_array is io_unit instead of blocklen.

Change-Id: Ic35665bca1721a3389405b14c9a61ee0b252e432
Signed-off-by: default avatarwangyalong <wang597672534@gmail.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24289


Reviewed-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: default avatarGangCao <gang.cao@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarYankun Li <845245370@qq.com>
parent fc2398df
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -529,7 +529,7 @@ _allocate_bit_arrays(struct spdk_reduce_vol *vol)

	/* Set backing io unit bits associated with metadata. */
	num_metadata_io_units = (sizeof(*vol->backing_super) + REDUCE_PATH_MAX) /
				vol->backing_dev->blocklen;
				vol->params.backing_io_unit_size;
	for (i = 0; i < num_metadata_io_units; i++) {
		spdk_bit_array_set(vol->allocated_backing_io_units, i);
	}