lsm_volum...ate_range(3)

πŸ“¦
version 1.10.3 Β· 3 versions
, in fedora 43, fedora 44

✨ NAME ✨

lsm_volume_replicate_range β€” bestie, it replicates a portion of a volume to a volume. That's it, that's the whole vibe. πŸ’–

Oh and btw, this lil cutie lives in the Libstoragemgmt C API Manual β€” you're in the right place, iykyk. 🫢


🌸 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 πŸŽ€

okay so here's the cast of characters, no skips, we're doing all of them:

  • conn β€” a valid connection. gotta have one, queen. πŸ‘‘
  • rep_type β€” an lsm_replication_type. the valid values are literally:
    • LSM_VOLUME_REPLICATE_CLONE β€” a point in time read writeable space efficient copy of data. also known as a read writeable snapshot. ✨
    • LSM_VOLUME_REPLICATE_COPY β€” a full bitwise copy of the data, and yes it occupies full space. no shortcuts, no diet version, the whole thing. πŸ’…
  • source β€” pointer of the replication source lsm_volume. the origin story. 🌱
  • dest β€” pointer of the replication target lsm_volume. plot twist: it could be the same as source. 🀯
  • ranges β€” array of lsm_block_range. please please please use lsm_block_range_record_array_alloc and lsm_block_range_record_alloc to create it. don't freehand this one, bestie. πŸ™ˆ
  • num_ranges β€” uint32_t. the number of entries in ranges. count them. πŸ“
  • job β€” output pointer of string. if the storage system supports asynchronous action on this, a job will be created and could be tracked via lsm_job_status_get. it's NULL if the storage system does not support asynchronous action on this. so like, sometimes you get a job, sometimes you don't, we don't make the rules. 😭
  • flags β€” reserved for future use, must be LSM_CLIENT_FLAG_RSVD. it's giving "placeholder but make it mandatory". 🚧

⭐ VERSION ⭐

1.0


πŸ¦‹ DESCRIPTION πŸ¦‹

Replicates a portion of specified source volume to target volume. just a portion, not the whole thing β€” that's the moment, that's the main character energy. πŸ”₯


🌈 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. here's the whole lineup:

  • LSM_ERR_OK
    • on success. we ate. πŸŽ‰
  • 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. basically: something's not right and we're telling you. πŸ’€
  • LSM_ERR_NOT_FOUND_VOLUME
    • when volume not found. it's not there. gone. πŸ«₯
  • LSM_ERR_NOT_FOUND_POOL
    • when pool not found. also not there. πŸ˜”
  • LSM_ERR_POOL_NOT_READY
    • pool is not ready. give it a minute, it's getting ready. πŸ§–
  • LSM_ERR_NO_SUPPORT
    • not supported. respectfully, nope. πŸ™…
no cap: these are the exact codes, so don't go inventing new ones, bestie. the manpage said what it said. πŸ’–

and that's the whole page, periodt. 🌟 this was the lsm_volume_replicate_range page from the Libstoragemgmt C API Manual, dated February 2026 β€” mwah, take care of her, she's iconic. πŸ‘‘πŸ’…βœ¨

πŸ“¦ where this page comes from