In general it is not possible to delete snapshot when there are clones on top of it. There is special case when there is just a single clone on top that snapshot. In such case the clone is 'merged' with snapshot. Unallocated clusters in clone, are filled with the ones in snapshot (if allocated there). Similar behavior should have occurred for extent pages. This patch adds the implementation for moving EP from snapshot to clone along with UT. The UT exposes the issue by allowing delete_blob to proceed beyond just unrecoverable snapshot blob. Fixes #1291 Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: Ib2824c5737021f8e8d9b533a4cd245c12e6fe9fa Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1163 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> |
||
---|---|---|
.. | ||
blob_bs_dev.c | ||
blobstore.c | ||
blobstore.h | ||
Makefile | ||
request.c | ||
request.h | ||
zeroes.c |