File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -388,6 +388,10 @@ These RPCs use the new API `spdk_lvol_shallow_copy()`.
388388Added ` bdev_lvol_set_parent ` and ` bdev_lvol_set_parent_bdev ` RPC to change the parent of an existing lvol
389389with 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
393397Added ` spdk_nvme_ctrlr_get_max_sges() ` API to retrieve maximum number of SGEs per request
@@ -480,6 +484,9 @@ like rebuild.
480484Added ` spdk_bs_grow_live() ` and ` spdk_bdev_update_bs_blockcnt() ` API that can be used to
481485increase 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
485492Added SPDK command line parameter ` --no-huge ` , which enables SPDK to run without hugepages.
Original file line number Diff line number Diff line change @@ -446,6 +446,13 @@ than blob's size and blob store's block size must be an integer multiple of devi
446446This functionality can be used to recreate the entire snapshot stack of a blob into a different blob
447447store.
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
451458We can change the parent of a thin provisioned blob, making the blob a clone of a snapshot of the
Original file line number Diff line number Diff 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
215225bdev_lvol_set_parent [-h] lvol_name snapshot_name
216226 Set the parent snapshot of a lvol
217227 optional arguments:
You can’t perform that action at this time.
0 commit comments