lsm_volum...e_cap_get(3)

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

πŸ’– lsm_volume_raid_create_cap_get β€” bestie edition πŸ’–

okay so this is a page from the Libstoragemgmt C API Manual, and honestly? it's giving "let me tell you what your RAID card can actually do" energy ✨ the function is lsm_volume_raid_create_cap_get, and it's basically the vibe-check twin of lsm_volume_raid_create() 🫢


🌸 NAME 🌸

lsm_volume_raid_create_cap_get β€” literally just retrieves the supported capability of lsm_volume_raid_create() πŸ’… no cap.


✨ SYNOPSIS ✨

int lsm_volume_raid_create_cap_get (lsm_connect *conn, lsm_system
*system, uint32_t **supported_raid_types, uint32_t
*supported_raid_type_count, uint32_t **supported_strip_sizes, uint32_t
*supported_strip_size_count, lsm_flag flags);

πŸŽ€ ARGUMENTS πŸŽ€

  • conn β€” a valid connection, bestie. gotta be valid fr fr.
  • system β€” pointer of lsm_system.
  • supported_raid_types β€” output pointer of a uint32_t array. it's holding lsm_volume_raid_type values, and the memory should be freed via free. the valid values are, and I'm obsessed with this list:
    • LSM_VOLUME_RAID_TYPE_RAID0 β€” stripe.
    • LSM_VOLUME_RAID_TYPE_RAID1 β€” two disks mirror.
    • LSM_VOLUME_RAID_TYPE_RAID3 β€” byte-level striping with dedicated parity.
    • LSM_VOLUME_RAID_TYPE_RAID4 β€” block-level striping with dedicated parity.
    • LSM_VOLUME_RAID_TYPE_RAID5 β€” block-level striping with distributed parity.
    • LSM_VOLUME_RAID_TYPE_RAID6 β€” block-level striping with two distributed parities, aka, RAID-DP.
    • LSM_VOLUME_RAID_TYPE_RAID10 β€” stripe of mirrors.
    • LSM_VOLUME_RAID_TYPE_RAID15 β€” parity of mirrors.
    • LSM_VOLUME_RAID_TYPE_RAID16 β€” dual parity of mirrors.
    • LSM_VOLUME_RAID_TYPE_RAID50 β€” stripe of parities.
    • LSM_VOLUME_RAID_TYPE_RAID60 β€” stripe of dual parities.
    • LSM_VOLUME_RAID_TYPE_RAID51 β€” mirror of parities.
    • LSM_VOLUME_RAID_TYPE_RAID61 β€” mirror of dual parities.
    • LSM_VOLUME_RAID_TYPE_JBOD β€” just bunch of disks, no parity, no striping. the chaotic neutral icon honestly πŸ’€
  • supported_raid_type_count β€” output pointer of uint32_t. it tells you the item count of the supported_raid_types array. the way that it counts… iconic.
  • supported_strip_sizes β€” the pointer of a uint32_t array, containing all supported strip sizes. and again, memory should be freed via free 🧚
  • supported_strip_size_count β€” the pointer of uint32_t. indicates the item count of the supported_strip_sizes array.
  • flags β€” reserved for future use, must be LSM_CLIENT_FLAG_RSVD. do not freestyle it πŸ™ˆ

πŸ¦‹ VERSION πŸ¦‹

1.2 β€” yes she's been through some updates and she ate πŸ’…


πŸ’œ DESCRIPTION πŸ’œ

only available for hardware RAID cards, periodt. it queries all supported RAID types and strip sizes which could be used in lsm_volume_raid_create functions. like, it's the little info-gathering sidekick before you actually go build something 🌈


πŸ‘‘ CAPABILITY πŸ‘‘

LSM_CAP_VOLUME_RAID_CREATE


⭐ RETURN ⭐

error code as enumerated by lsm_error_number. here's the lineup:

  • LSM_ERR_OK β€” on success. slay πŸŽ‰
  • LSM_ERR_INVALID_ARGUMENT β€” when any argument is NULL or invalid flags. so, y'know, don't do that 😭
  • LSM_ERR_NO_SUPPORT β€” not supported. it's giving "we don't do that here" πŸ’€

lowkey important reminder bestie: those output arrays are yours to free with free, and flags is absolutely not a playground β€” LSM_CLIENT_FLAG_RSVD only, fr fr πŸ’–

that's the whole page, and honestly it's so February 2026 of it β€” this was lsm_volume_raid_create_cap_get from the Libstoragemgmt C API Manual, dated February 2026, aka lsm_volum...e_cap_get(3) in the footer because the name got a lil truncated in the header 🫢 go forth and query those RAID capabilities, main character πŸ’…βœ¨

πŸ“¦ where this page comes from