92
91
return first_seg(lv)->max_recovery_rate;
95
static percent_t _snap_percent(const struct logical_volume *lv)
94
static dm_percent_t _snap_percent(const struct logical_volume *lv)
99
98
if (!lv_is_cow(lv) || !lv_snapshot_percent(lv, &percent))
100
percent = PERCENT_INVALID;
99
percent = DM_PERCENT_INVALID;
105
static percent_t _data_percent(const struct logical_volume *lv)
104
static dm_percent_t _data_percent(const struct logical_volume *lv)
106
dm_percent_t percent;
109
108
if (lv_is_cow(lv))
110
109
return _snap_percent(lv);
112
111
if (lv_is_thin_volume(lv))
113
return lv_thin_percent(lv, 0, &percent) ? percent : PERCENT_INVALID;
112
return lv_thin_percent(lv, 0, &percent) ? percent : DM_PERCENT_INVALID;
115
return lv_thin_pool_percent(lv, 0, &percent) ? percent : PERCENT_INVALID;
114
return lv_thin_pool_percent(lv, 0, &percent) ? percent : DM_PERCENT_INVALID;
118
static percent_t _metadata_percent(const struct logical_volume *lv)
117
static dm_percent_t _metadata_percent(const struct logical_volume *lv)
119
dm_percent_t percent;
122
return lv_thin_pool_percent(lv, 1, &percent) ? percent : PERCENT_INVALID;
121
return lv_thin_pool_percent(lv, 1, &percent) ? percent : DM_PERCENT_INVALID;
160
159
GET_PV_NUM_PROPERTY_FN(pv_ba_size, SECTOR_SIZE * pv->ba_size)
161
160
#define _pv_ba_size_set prop_not_implemented_set
162
#define _pv_allocatable_set prop_not_implemented_set
163
#define _pv_allocatable_get prop_not_implemented_get
164
#define _pv_exported_set prop_not_implemented_set
165
#define _pv_exported_get prop_not_implemented_get
166
#define _pv_missing_set prop_not_implemented_set
167
#define _pv_missing_get prop_not_implemented_get
169
#define _vg_permissions_set prop_not_implemented_set
170
#define _vg_permissions_get prop_not_implemented_get
171
#define _vg_extendable_set prop_not_implemented_set
172
#define _vg_extendable_get prop_not_implemented_get
173
#define _vg_exported_set prop_not_implemented_set
174
#define _vg_exported_get prop_not_implemented_get
175
#define _vg_partial_set prop_not_implemented_set
176
#define _vg_partial_get prop_not_implemented_get
177
#define _vg_allocation_policy_set prop_not_implemented_set
178
#define _vg_allocation_policy_get prop_not_implemented_get
179
#define _vg_clustered_set prop_not_implemented_set
180
#define _vg_clustered_get prop_not_implemented_get
182
//#define _lv_volume_type_set prop_not_implemented_set
183
//#define _lv_volume_type_get prop_not_implemented_get
184
#define _lv_initial_image_sync_set prop_not_implemented_set
185
#define _lv_initial_image_sync_get prop_not_implemented_get
186
#define _lv_image_synced_get prop_not_implemented_get
187
#define _lv_image_synced_set prop_not_implemented_set
188
#define _lv_image_synced_get prop_not_implemented_get
189
#define _lv_merging_set prop_not_implemented_set
190
#define _lv_merging_get prop_not_implemented_get
191
#define _lv_converting_set prop_not_implemented_set
192
#define _lv_converting_get prop_not_implemented_get
193
#define _lv_permissions_set prop_not_implemented_set
194
#define _lv_permissions_get prop_not_implemented_get
195
#define _lv_allocation_policy_set prop_not_implemented_set
196
#define _lv_allocation_policy_get prop_not_implemented_get
197
#define _lv_allocation_locked_set prop_not_implemented_set
198
#define _lv_allocation_locked_get prop_not_implemented_get
199
#define _lv_active_locally_set prop_not_implemented_set
200
#define _lv_active_locally_get prop_not_implemented_get
201
#define _lv_active_remotely_set prop_not_implemented_set
202
#define _lv_active_remotely_get prop_not_implemented_get
203
#define _lv_active_exclusively_set prop_not_implemented_set
204
#define _lv_active_exclusively_get prop_not_implemented_get
205
#define _lv_fixed_minor_set prop_not_implemented_set
206
#define _lv_fixed_minor_get prop_not_implemented_get
207
#define _lv_merge_failed_set prop_not_implemented_set
208
#define _lv_merge_failed_get prop_not_implemented_get
209
#define _lv_snapshot_invalid_set prop_not_implemented_set
210
#define _lv_snapshot_invalid_get prop_not_implemented_get
211
#define _lv_suspended_set prop_not_implemented_set
212
#define _lv_suspended_get prop_not_implemented_get
213
#define _lv_live_table_set prop_not_implemented_set
214
#define _lv_live_table_get prop_not_implemented_get
215
#define _lv_inactive_table_set prop_not_implemented_set
216
#define _lv_inactive_table_get prop_not_implemented_get
217
#define _lv_device_open_set prop_not_implemented_set
218
#define _lv_device_open_get prop_not_implemented_get
219
//#define _lv_target_type_set prop_not_implemented_set
220
//#define _lv_target_type_get prop_not_implemented_get
221
#define _lv_health_status_set prop_not_implemented_set
222
#define _lv_health_status_get prop_not_implemented_get
223
#define _lv_skip_activation_set prop_not_implemented_set
224
#define _lv_skip_activation_get prop_not_implemented_get
164
227
GET_LV_STR_PROPERTY_FN(lv_uuid, lv_uuid_dup(lv))
165
228
#define _lv_uuid_set prop_not_implemented_set
166
229
GET_LV_STR_PROPERTY_FN(lv_name, lv_name_dup(lv->vg->vgmem, lv))
167
230
#define _lv_name_set prop_not_implemented_set
231
GET_LV_STR_PROPERTY_FN(lv_full_name, lv_fullname_dup(lv->vg->vgmem, lv))
232
#define _lv_full_name_set prop_not_implemented_set
168
233
GET_LV_STR_PROPERTY_FN(lv_path, lv_path_dup(lv->vg->vgmem, lv))
169
234
#define _lv_path_set prop_not_implemented_set
235
GET_LV_STR_PROPERTY_FN(lv_dm_path, lv_dmpath_dup(lv->vg->vgmem, lv))
236
#define _lv_dm_path_set prop_not_implemented_set
237
GET_LV_STR_PROPERTY_FN(lv_parent, lv_parent_dup(lv->vg->vgmem, lv))
238
#define _lv_parent_set prop_not_implemented_set
170
239
GET_LV_STR_PROPERTY_FN(lv_attr, lv_attr_dup(lv->vg->vgmem, lv))
171
240
#define _lv_attr_set prop_not_implemented_set
172
241
GET_LV_NUM_PROPERTY_FN(lv_major, lv->major)