lsm_volume_raid_info(3)

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

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

okay so this one lives in the Libstoragemgmt C API Manual, and it's literally the function that spills the tea on how your volume's RAID is actually set up. 🫢


✨ NAME ✨

lsm_volume_raid_info β€” pulls the RAID info for a volume you point at. that's it, that's the job. πŸ’…


🌸 SYNOPSIS 🌸

int lsm_volume_raid_info (lsm_connect *conn, lsm_volume *volume,
       lsm_volume_raid_type *raid_type, uint32_t *strip_size, uint32_t
       *disk_count, uint32_t *min_io_size, uint32_t *opt_io_size, lsm_flag
       flags);

πŸŽ€ ARGUMENTS πŸŽ€

  • conn β€” a valid connection. gotta have one, no connection no info, periodt.
  • volume β€” pointer of lsm_volume. the volume in question, the main character. πŸ‘‘
  • raid_type β€” lsm_volume_raid_type. valid values are, and buckle up bestie there's a whole roster:
    • 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. lowkey the chill one. πŸ¦‹
    • LSM_VOLUME_RAID_TYPE_UNKNOWN β€” The plugin failed to detect the volume's RAID type. it tried, it really did. 😭
    • LSM_VOLUME_RAID_TYPE_MIXED β€” This volume contains multiple RAID settings.
    • LSM_VOLUME_RAID_TYPE_OTHER β€” Vendor specific RAID type.
  • strip_size β€” uint32_t. The size of strip on each disk or other storage extent. For RAID1/JBOD, it should be set as sector size. If plugin failed to detect strip size, it should be set as LSM_VOLUME_STRIP_SIZE_UNKNOWN(0).
  • disk_count β€” uint32_t. The count of disks used for assembling the RAID group(s) where this volume allocated from. For any RAID system using the slice of disk, this value indicate how many disk slices are used for the RAID. For example, on LVM RAID, the disk_count here indicate the count of PVs used for certain volume. Another example, on EMC VMAX, the disk_count here indicate how many hyper volumes are used for this volume. For any RAID system using remote LUN for data storing, each remote LUN should be count as a disk. If the plugin failed to detect disk_count, it should be set as LSM_VOLUME_DISK_COUNT_UNKNOWN(0). so many rules, but we respect them. ✨
  • min_io_size β€” uint32_t. The minimum I/O size, device preferred I/O size for random I/O. Any I/O size not equal to a multiple of this value may get significant speed penalty. Normally it refers to strip size of each disk(extent). If plugin failed to detect min_io_size, it should try these values in the sequence of: logical sector size -> physical sector size -> LSM_VOLUME_MIN_IO_SIZE_UNKNOWN(0). it's giving fallback chain, and honestly? obsessed. πŸ”₯
  • opt_io_size β€” uint32_t. The optimal I/O size, device preferred I/O size for sequential I/O. Normally it refers to RAID group stripe size. If plugin failed to detect opt_io_size, it should be set to LSM_VOLUME_OPT_IO_SIZE_UNKNOWN(0).
  • flags β€” Reserved for future use, must be LSM_CLIENT_FLAG_RSVD. don't get creative with it bestie, it's not that girl yet. πŸ™ˆ

🌈 VERSION 🌈

1.2.


πŸ’œ DESCRIPTION πŸ’œ

Retrieves the RAID information of specified volume. that's literally the whole vibe check. πŸŽ€


⭐ CAPABILITY ⭐

LSM_CAP_VOLUME_RAID_INFO


πŸ‘‘ RETURN πŸ‘‘

Error code as enumerated by lsm_error_number.

  • LSM_ERR_OK β€” On success. slay. πŸ’…
  • LSM_ERR_INVALID_ARGUMENT β€” When any argument is NULL or invalid flags.
  • LSM_ERR_NO_SUPPORT β€” Not supported. it's not you, it's the plugin. 😭

heads up bestie: flags has exactly one valid value and it's LSM_CLIENT_FLAG_RSVD. anything else and you're getting LSM_ERR_INVALID_ARGUMENT back in your face. no cap. 🫢

kisses from the Libstoragemgmt C API Manual, version vibe of February 2026 β€” this page is literally called lsm_volume_raid_info, filed under lsm_volume_raid_info(3), and yeah she signs her own name twice, iconic behavior. bye bestie, go read your RAID info πŸ’–βœ¨πŸŒˆπŸ¦‹

πŸ“¦ where this page comes from