1lsm_volume_raid_info(3) Libstoragemgmt C API Manual lsm_volume_raid_info(3)
2
3
4
6 lsm_volume_raid_info - Retrieves the RAID information of specified vol‐
7 ume
8
10 int lsm_volume_raid_info (lsm_connect *conn, lsm_volume *volume,
11 lsm_volume_raid_type *raid_type, uint32_t *strip_size, uint32_t
12 *disk_count, uint32_t *min_io_size, uint32_t *opt_io_size, lsm_flag
13 flags);
14
16 conn Valid connection.
17
18 volume Pointer of lsm_volume.
19
20 raid_type lsm_volume_raid_type. Valid values are: LSM_VOL‐
21 UME_RAID_TYPE_RAID0
22 Stripe. LSM_VOLUME_RAID_TYPE_RAID1
23 Two disks Mirror LSM_VOLUME_RAID_TYPE_RAID3
24 Byte-level striping with dedicated parity LSM_VOL‐
25 UME_RAID_TYPE_RAID4
26 Block-level striping with dedicated parity LSM_VOL‐
27 UME_RAID_TYPE_RAID5
28 Block-level striping with distributed parity LSM_VOL‐
29 UME_RAID_TYPE_RAID6
30 Block-level striping with two distributed parities,
31 aka, RAID-DP LSM_VOLUME_RAID_TYPE_RAID10
32 Stripe of mirrors LSM_VOLUME_RAID_TYPE_RAID15
33 Parity of mirrors LSM_VOLUME_RAID_TYPE_RAID16
34 Dual parity of mirrors LSM_VOLUME_RAID_TYPE_RAID50
35 Stripe of parities LSM_VOLUME_RAID_TYPE_RAID60
36 Stripe of dual parities LSM_VOLUME_RAID_TYPE_RAID51
37 Mirror of parities LSM_VOLUME_RAID_TYPE_RAID61
38 Mirror of dual parities LSM_VOLUME_RAID_TYPE_JBOD
39 Just bunch of disks, no parity, no striping. LSM_VOL‐
40 UME_RAID_TYPE_UNKNOWN
41 The plugin failed to detect the volume's RAID type.
42 LSM_VOLUME_RAID_TYPE_MIXED
43 This volume contains multiple RAID settings. LSM_VOL‐
44 UME_RAID_TYPE_OTHER
45 Vendor specific RAID type
46
47 strip_size uint32_t. The size of strip on each disk or other storage
48 extent. For RAID1/JBOD, it should be set as sector size.
49 If plugin failed to detect strip size, it should be set as
50 LSM_VOLUME_STRIP_SIZE_UNKNOWN(0).
51
52 disk_count uint32_t. The count of disks used for assembling the RAID
53 group(s) where this volume allocated from. For any RAID
54 system using the slice of disk, this value indicate how
55 many disk slices are used for the RAID. For example, on LVM
56 RAID, the 'disk_count' here indicate the count of PVs used
57 for certain volume. Another example, on EMC VMAX, the
58 'disk_count' here indicate how many hyper volumes are used
59 for this volume. For any RAID system using remote LUN for
60 data storing, each remote LUN should be count as a disk.
61 If the plugin failed to detect disk_count, it should be set
62 as LSM_VOLUME_DISK_COUNT_UNKNOWN(0).
63
64 min_io_size uint32_t. The minimum I/O size, device preferred I/O size
65 for random I/O. Any I/O size not equal to a multiple of
66 this value may get significant speed penalty. Normally it
67 refers to strip size of each disk(extent). If plugin
68 failed to detect min_io_size, it should try these values in
69 the sequence of: logical sector size -> physical sector
70 size -> LSM_VOLUME_MIN_IO_SIZE_UNKNOWN(0).
71
72 opt_io_size uint32_t. The optimal I/O size, device preferred I/O size
73 for sequential I/O. Normally it refers to RAID group stripe
74 size. If plugin failed to detect opt_io_size, it should be
75 set to LSM_VOLUME_OPT_IO_SIZE_UNKNOWN(0).
76
77 flags Reserved for future use, must be LSM_CLIENT_FLAG_RSVD.
78
80 1.2.
81
83 Retrieves the RAID information of specified volume.
84
86 LSM_CAP_VOLUME_RAID_INFO
87
89 Error code as enumerated by 'lsm_error_number'.
90 * LSM_ERR_OK
91 On success.
92 * LSM_ERR_INVALID_ARGUMENT
93 When any argument is NULL or invalid flags.
94 * LSM_ERR_NO_SUPPORT
95 Not supported.
96
97
98
99December 2019 lsm_volume_raid_info lsm_volume_raid_info(3)