Spdk/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_bs_dev.c blob: Add translate_lba operation 2022-12-08 12:54:54 +00:00
blobstore.c blob: snapshots of esnap clones 2023-03-28 03:57:35 +00:00
blobstore.h blob: add IO channels for esnap clones 2023-03-28 03:57:35 +00:00
Makefile so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
request.c blob: add IO channels for esnap clones 2023-03-28 03:57:35 +00:00
request.h blob: add IO channels for esnap clones 2023-03-28 03:57:35 +00:00
spdk_blob.map blob: add spdk_blob_is_esnap_clone 2023-03-22 09:39:29 +00:00
zeroes.c blob: Add translate_lba operation 2022-12-08 12:54:54 +00:00