1lsm_volume_replicate(3) Libstoragemgmt C API Manual lsm_volume_replicate(3)
2
3
4
6 lsm_volume_replicate - Replicates a volume
7
9 int lsm_volume_replicate (lsm_connect *conn, lsm_pool *pool, lsm_repli‐
10 cation_type rep_type, lsm_volume *volume_src, const char *name,
11 lsm_volume **new_replicant, char **job, lsm_flag flags);
12
14 conn Valid lsm_connect pointer.
15
16 pool Pointer of lsm_pool where the new replicate target volume
17 stored in. If NULL, target volume will be reside in the
18 same pool of source volume.
19
20 rep_type lsm_replication_type. Valid values are: * LSM_VOLUME_REPLI‐
21 CATE_CLONE
22 Point in time read writeable space efficient copy of
23 data. Also know as read writeable snapshot. * LSM_VOL‐
24 UME_REPLICATE_COPY
25 Full bitwise copy of the data (occupies full space). *
26 LSM_VOLUME_REPLICATE_MIRROR_ASYNC
27 I/O will be blocked until I/O reached source storage
28 systems.
29 The source storage system will use copy the changes data
30 to
31 target system in a predefined interval. There will be a
32 small
33 data differences between source and target. * LSM_VOL‐
34 UME_REPLICATE_MIRROR_SYNC
35 I/O will be blocked until I/O reached both source and
36 target storage systems. There will be no data difference
37 between source and target storage systems.
38
39 volume_src Pointer of replication source lsm_volume.
40
41 name String. Human recognizable name, might be altered or ig‐
42 nored by certain storage system.
43
44 new_replicant
45 Output pointer of new replication target lsm_volume. Will
46 be NULL if storage system support asynchronous action on
47 this. Memory must be freed with a call to lsm_vol‐
48 ume_record_free.
49
50 job Output pointer of string. If storage system support asyn‐
51 chronous action on this, a job will be created and could be
52 tracked via lsm_job_status_volume_get. NULL if storage sys‐
53 tem does not support asynchronous action on this.
54
55 flags Reserved for future use, must be LSM_CLIENT_FLAG_RSVD.
56
58 1.0
59
61 Replicates a volume. To delete the new target volume, please use
62 lsm_volume_delete. If any volume is the replication source, it is only
63 deletable when lsm_volume_child_dependency returns 0.
64
66 LSM_CAP_VOLUME_REPLICATE LSM_CAP_VOLUME_REPLICATE_CLONE LSM_CAP_VOL‐
67 UME_REPLICATE_COPY LSM_CAP_VOLUME_REPLICATE_MIRROR_ASYNC LSM_CAP_VOL‐
68 UME_REPLICATE_MIRROR_SYNC
69
71 Error code as enumerated by 'lsm_error_number'.
72 * LSM_ERR_OK
73 On success.
74 * LSM_ERR_JOB_STARTED
75 A job is started. Please check the 'job' output pointer.
76 * LSM_ERR_INVALID_ARGUMENT
77 When any argument is NULL or not a valid lsm_connect pointer
78 or invalid flags or invalid replication type.
79 * LSM_ERR_NOT_FOUND_VOLUME
80 When volume not found.
81 * LSM_ERR_NOT_FOUND_POOL
82 When pool not found.
83 * LSM_ERR_NOT_ENOUGH_SPACE
84 Pool does not have enough space.
85 * LSM_ERR_POOL_NOT_READY
86 Pool is not ready.
87 * LSM_ERR_NO_SUPPORT
88 Not supported.
89
90
91
92November 2022 lsm_volume_replicate lsm_volume_replicate(3)