Commit c55bec1e authored by Yankun Li's avatar Yankun Li Committed by Jim Harris
Browse files

lib/reduce: If chunk is not allocated, return



Change-Id: I63dc6143d28fe213021ab5ed36019e18a482e00a
Signed-off-by: default avatarYankun Li <yankun@staff.sina.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25485


Reviewed-by: default avatarGangCao <gang.cao@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
parent b37db069
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2016,6 +2016,14 @@ _reduce_vol_unmap_full_chunk(struct spdk_reduce_vol *vol,
	logical_map_index = offset / vol->logical_blocks_per_chunk;
	overlapped = _check_overlap(vol, logical_map_index);

	if (!overlapped && vol->pm_logical_map[logical_map_index] == REDUCE_EMPTY_MAP_ENTRY) {
		/*
		 * This chunk hasn't been allocated. Nothing needs to be done.
		 */
		cb_fn(cb_arg, 0);
		return;
	}

	req = TAILQ_FIRST(&vol->free_requests);
	if (req == NULL) {
		cb_fn(cb_arg, -ENOMEM);