lsm_volume_replicate_range - Man Page
Replicates a portion of a volume to a volume.
Synopsis
int lsm_volume_replicate_range (lsm_connect *conn, lsm_replication_type rep_type, lsm_volume *source, lsm_volume *dest, lsm_block_range **ranges, uint32_t num_ranges, char **job, lsm_flag flags);
Arguments
- conn
- Valid connection. 
- rep_type
- lsm_replication_type. Valid values are: * LSM_VOLUME_REPLICATE_CLONE 
 Point in time read writeable space efficient copy of
 data. Also know as read writeable snapshot. * LSM_VOLUME_REPLICATE_COPY
 Full bitwise copy of the data (occupies full space).
- source
- Pointer of replication source lsm_volume. 
- dest
- Pointer of replication target lsm_volume. Could be the same as source. 
- ranges
- Array of lsm_block_range. Please use lsm_block_range_record_array_alloc and lsm_block_range_record_alloc to create it. 
- num_ranges
- uint32_t. Number of entries in ranges. 
- job
- Output pointer of string. If storage system support asynchronous action on this, a job will be created and could be tracked via lsm_job_status_get. NULL if storage system does not support asynchronous action on this. 
- flags
- Reserved for future use, must be LSM_CLIENT_FLAG_RSVD. 
Version
1.0
Description
Replicates a portion of specified source volume to target volume.
Capability
LSM_CAP_VOLUME_COPY_RANGE LSM_CAP_VOLUME_COPY_RANGE_CLONE LSM_CAP_VOLUME_COPY_RANGE_COPY
Return
Error code as enumerated by 'lsm_error_number'.
   * LSM_ERR_OK
       On success.
   * LSM_ERR_JOB_STARTED
       A job is started. Please check the 'job' output pointer.
   * LSM_ERR_INVALID_ARGUMENT
       When any argument is NULL or not a valid lsm_connect pointer
       or invalid flags or invalid replication type.
   * LSM_ERR_NOT_FOUND_VOLUME
       When volume not found.
   * LSM_ERR_NOT_FOUND_POOL
       When pool not found.
   * LSM_ERR_POOL_NOT_READY
       Pool is not ready.
   * LSM_ERR_NO_SUPPORT
       Not supported.