Skip to content

Commit 4c08580

Browse files
committed
doc: add lvol/blob deep copy descriptions
CHANGELOG.md, lvol.md and blob.md have been updated with informations about the deep copy functionality. Signed-off-by: Phan Le <phan.le@suse.com>
1 parent 1b12f69 commit 4c08580

3 files changed

Lines changed: 24 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,10 @@ These RPCs use the new API `spdk_lvol_shallow_copy()`.
388388
Added `bdev_lvol_set_parent` and `bdev_lvol_set_parent_bdev` RPC to change the parent of an existing lvol
389389
with the use of the new APIs `spdk_lvol_set_parent()` and `spdk_lvol_set_external_parent()`.
390390

391+
Added `bdev_lvol_start_deep_copy` RPC to start a deep copy of an lvol over a given bdev and
392+
`bdev_lvol_check_deep_copy` RPC to get the status of the operation.
393+
These RPCs use the new API `spdk_lvol_deep_copy()`.
394+
391395
### nvme
392396

393397
Added `spdk_nvme_ctrlr_get_max_sges()` API to retrieve maximum number of SGEs per request
@@ -480,6 +484,9 @@ like rebuild.
480484
Added `spdk_bs_grow_live()` and `spdk_bdev_update_bs_blockcnt()` API that can be used to
481485
increase size of blobstore filling the underlying device without first closing the blobstore.
482486

487+
Added new API `spdk_bs_blob_deep_copy` to make a deep copy from a blob to a blobstore device. Only clusters
488+
allocated to the blob or blob's ancestors will be written on the device.
489+
483490
### env
484491

485492
Added SPDK command line parameter `--no-huge`, which enables SPDK to run without hugepages.

doc/blob.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,13 @@ than blob's size and blob store's block size must be an integer multiple of devi
446446
This functionality can be used to recreate the entire snapshot stack of a blob into a different blob
447447
store.
448448

449+
#### Deep Copy {#blob_deep_copy}
450+
451+
A read only blob can be copied over a blob store device in a way that only clusters
452+
allocated to the blob or blob's ancestors will be written on the device. This device must have a size equal or greater
453+
than blob's size and blob store's block size must be an integer multiple of device's block size.
454+
This functionality can be used to make a full copy of a blob into a different blob on the same or different blobstore.
455+
449456
#### Change the parent of a blob {#blob_reparent}
450457

451458
We can change the parent of a thin provisioned blob, making the blob a clone of a snapshot of the

doc/lvol.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,16 @@ bdev_lvol_check_shallow_copy [-h] operation_id
212212
Get shallow copy status
213213
optional arguments:
214214
-h, --help show help
215+
bdev_lvol_start_deep_copy [-h] src_lvol_name dst_bdev_name
216+
Make a deep copy of lvol over a given bdev
217+
This RPC starts the operation and returns an identifier that can be used to query the status
218+
of the operation with the RPC bdev_lvol_check_deep_copy.
219+
optional arguments:
220+
-h, --help show help
221+
bdev_lvol_check_deep_copy [-h] operation_id
222+
Get deep copy status
223+
optional arguments:
224+
-h, --help show help
215225
bdev_lvol_set_parent [-h] lvol_name snapshot_name
216226
Set the parent snapshot of a lvol
217227
optional arguments:

0 commit comments

Comments
 (0)