lsm_volume_replicate_range man page

lsm_volume_replicate_range — 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.

Info

lsm_volume_replicate_range October 2017 Libstoragemgmt C API Manual