lsm_volume_raid_info - Man Page

Retrieves the RAID information of specified volume

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

Valid connection.

volume

Pointer of lsm_volume.

raid_type

lsm_volume_raid_type. Valid values are: 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. LSM_VOLUME_RAID_TYPE_UNKNOWN
  The plugin failed to detect the volume's RAID type. 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).

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).

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.

Version

1.2.

Description

Retrieves the RAID information of specified volume.

Capability

LSM_CAP_VOLUME_RAID_INFO

Return

Error code as enumerated by 'lsm_error_number'.
   * LSM_ERR_OK
       On success.
   * LSM_ERR_INVALID_ARGUMENT
       When any argument is NULL or invalid flags.
   * LSM_ERR_NO_SUPPORT
       Not supported.

Info

April 2023 Libstoragemgmt C API Manual