lsm_volume_resize man page
lsm_volume_resize — Resize an existing volume.
int lsm_volume_resize (lsm_connect *conn, lsm_volume *volume, uint64_t new_size, lsm_volume **resized_volume, char **job, lsm_flag flags);
Valid lsm_connect pointer.
lsm_volume. Volume to re-size
uint64_t. New size of volume in bytes, actual size might be bigger than requested and will be based on array rounding to block size,
Output pointer of updated lsm_volume. Might be NULL if storage system support asynchronous action on this. Memory must be freed with a call to lsm_volume_record_free.
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_volume_get. NULL if storage system does not support asynchronous action on this.
Reserved for future use, must be LSM_CLIENT_FLAG_RSVD.
Resize the specified volume. Some pool might not allow volume resize, please check lsm_pool_unsupported_actions_get for LSM_POOL_UNSUPPORTED_VOLUME_GROW and LSM_POOL_UNSUPPORTED_VOLUME_SHRINK before invoking this function.
Error code as enumerated by 'lsm_error_number'.
A job is started. Please check the 'job' output pointer.
When any argument is NULL or not a valid lsm_connect pointer
or invalid flags.
When pool not found.
When volume not found.
Pool does not have enough space.
Pool is not ready for volume resizing.
Requested size if identical to current size.