Spdk/test/unit/lib/blob
Mike Gerdts 94c43313ab blob: snapshots of esnap clones
An esnap clone needs special handling as snapshots are created and
removed. In particular: the following must exist on the blob that
directly references the external snapshot and must be removed from
others:

- Ensure SPDK_BLOB_EXTERNAL_SNAPSHOT invalid flag exists only on the
  esnap clone.
- Ensure BLOB_EXTERNAL_SNAPSHOT_ID internal xattr exists only on the
  esnap clone.
- Clean up any esnap IO channels on a blob that is no longer an esnap
  clone due to snapshot creation or removal.

See the diagrams and description in blob_esnap_clone_snapshot() in
blob_ut.c for details.

Signed-off-by: Mike Gerdts <mgerdts@nvidia.com>
Change-Id: Ie4125d64d5bac9cfa7d6c7cc9a543d72a169f6ee
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11573
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2023-03-28 03:57:35 +00:00
..
blob_bdev.c blob_bdev: take read-only-many claims on ro devs 2023-03-03 11:25:35 +00:00
blob.c blob: snapshots of esnap clones 2023-03-28 03:57:35 +00:00
bs_dev_common.c test/blob: test with and without copy offload 2023-03-03 11:25:35 +00:00
bs_scheduler.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
Makefile test/blob: create unit test for blob_bdev 2023-02-09 11:20:34 +00:00