lsm_volume_raid_info(3)
π 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 oflsm_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 asLSM_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, thedisk_counthere indicate the count of PVs used for certain volume. Another example, on EMC VMAX, thedisk_counthere 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 asLSM_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 toLSM_VOLUME_OPT_IO_SIZE_UNKNOWN(0).flagsβ Reserved for future use, must beLSM_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:flagshas exactly one valid value and it'sLSM_CLIENT_FLAG_RSVD. anything else and you're gettingLSM_ERR_INVALID_ARGUMENTback 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
- fedora 43: libstoragemgmt-devel 1.10.3-1.fc43 Β· LGPL-2.1-or-later
- fedora 44: libstoragemgmt-devel 1.10.3-1.fc44 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms