mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-07 21:18:59 +03:00
report: add seg_le_ranges report field
This commit is contained in:
parent
fccb1bb276
commit
1341f83554
@ -1,5 +1,6 @@
|
||||
Version 2.02.141 -
|
||||
====================================
|
||||
Add seg_le_ranges report field for common format when displaying seg devices.
|
||||
Honour report/list_item_separator for seg_metadata_le_ranges report field.
|
||||
Don't mark hidden devs in -o devices,metadata_devices,seg_pe_ranges (2.02.140).
|
||||
Change LV sizes in seg_pe_ranges report field to match underlying devices.
|
||||
|
@ -173,6 +173,21 @@ char *lvseg_seg_pe_ranges_str(struct dm_pool *mem, const struct lv_segment *seg)
|
||||
return str_list_to_str(mem, list, " ");
|
||||
}
|
||||
|
||||
struct dm_list *lvseg_seg_le_ranges(struct dm_pool *mem, const struct lv_segment *seg)
|
||||
{
|
||||
return _format_pvsegs(mem, seg, 1, 0, seg->lv->vg->cmd->report_mark_hidden_devices);
|
||||
}
|
||||
|
||||
char *lvseg_seg_le_ranges_str(struct dm_pool *mem, const struct lv_segment *seg)
|
||||
{
|
||||
struct dm_list *list;
|
||||
|
||||
if (!(list = lvseg_seg_pe_ranges(mem, seg)))
|
||||
return_NULL;
|
||||
|
||||
return str_list_to_str(mem, list, seg->lv->vg->cmd->report_list_item_separator);
|
||||
}
|
||||
|
||||
struct dm_list *lvseg_seg_metadata_le_ranges(struct dm_pool *mem, const struct lv_segment *seg)
|
||||
{
|
||||
return _format_pvsegs(mem, seg, 1, 1, seg->lv->vg->cmd->report_mark_hidden_devices);
|
||||
|
@ -92,6 +92,8 @@ struct dm_list *lvseg_metadata_devices(struct dm_pool *mem, const struct lv_segm
|
||||
char *lvseg_metadata_devices_str(struct dm_pool *mem, const struct lv_segment *seg);
|
||||
struct dm_list *lvseg_seg_pe_ranges(struct dm_pool *mem, const struct lv_segment *seg);
|
||||
char *lvseg_seg_pe_ranges_str(struct dm_pool *mem, const struct lv_segment *seg);
|
||||
struct dm_list *lvseg_seg_le_ranges(struct dm_pool *mem, const struct lv_segment *seg);
|
||||
char *lvseg_seg_le_ranges_str(struct dm_pool *mem, const struct lv_segment *seg);
|
||||
struct dm_list *lvseg_seg_metadata_le_ranges(struct dm_pool *mem, const struct lv_segment *seg);
|
||||
char *lvseg_seg_metadata_le_ranges_str(struct dm_pool *mem, const struct lv_segment *seg);
|
||||
|
||||
|
@ -193,6 +193,7 @@ FIELD(SEGS, seg, SIZ, "SSize", list, 5, segsize, seg_size, "Size of segment in c
|
||||
FIELD(SEGS, seg, SIZ, "SSize", list, 5, segsizepe, seg_size_pe, "Size of segment in physical extents.", 0)
|
||||
FIELD(SEGS, seg, STR_LIST, "Seg Tags", tags, 8, tags, seg_tags, "Tags, if any.", 0)
|
||||
FIELD(SEGS, seg, STR_LIST, "PE Ranges", list, 9, peranges, seg_pe_ranges, "Ranges of Physical Extents of underlying devices in command line format.", 0)
|
||||
FIELD(SEGS, seg, STR_LIST, "LE Ranges", list, 9, leranges, seg_le_ranges, "Ranges of Logical Extents of underlying devices in command line format.", 0)
|
||||
FIELD(SEGS, seg, STR_LIST, "Metadata LE Ranges", list, 18, metadataleranges, seg_metadata_le_ranges, "Ranges of Logical Extents of underlying metadata devices in command line format.", 0)
|
||||
FIELD(SEGS, seg, STR_LIST, "Devices", list, 7, devices, devices, "Underlying devices used with starting extent numbers.", 0)
|
||||
FIELD(SEGS, seg, STR_LIST, "Metadata Devs", list, 13, metadatadevices, metadata_devices, "Underlying metadata devices used with starting extent numbers.", 0)
|
||||
|
@ -466,6 +466,8 @@ GET_LVSEG_STR_PROPERTY_FN(seg_tags, lvseg_tags_dup(lvseg))
|
||||
#define _seg_tags_set prop_not_implemented_set
|
||||
GET_LVSEG_STR_PROPERTY_FN(seg_pe_ranges, lvseg_seg_pe_ranges_str(lvseg->lv->vg->vgmem, lvseg))
|
||||
#define _seg_pe_ranges_set prop_not_implemented_set
|
||||
GET_LVSEG_STR_PROPERTY_FN(seg_le_ranges, lvseg_seg_le_ranges_str(lvseg->lv->vg->vgmem, lvseg))
|
||||
#define _seg_le_ranges_set prop_not_implemented_set
|
||||
GET_LVSEG_STR_PROPERTY_FN(seg_metadata_le_ranges, lvseg_seg_metadata_le_ranges_str(lvseg->lv->vg->vgmem, lvseg))
|
||||
#define _seg_metadata_le_ranges_set prop_not_implemented_set
|
||||
GET_LVSEG_STR_PROPERTY_FN(devices, lvseg_devices_str(lvseg->lv->vg->vgmem, lvseg))
|
||||
|
@ -1332,6 +1332,19 @@ static int _peranges_disp(struct dm_report *rh, struct dm_pool *mem,
|
||||
return _field_set_string_list(rh, field, list, private, 0, " ");
|
||||
}
|
||||
|
||||
static int _leranges_disp(struct dm_report *rh, struct dm_pool *mem,
|
||||
struct dm_report_field *field,
|
||||
const void *data, void *private)
|
||||
{
|
||||
const struct lv_segment *seg = (const struct lv_segment *) data;
|
||||
struct dm_list *list;
|
||||
|
||||
if (!(list = lvseg_seg_le_ranges(mem, seg)))
|
||||
return_0;
|
||||
|
||||
return _field_set_string_list(rh, field, list, private, 0, NULL);
|
||||
}
|
||||
|
||||
static int _metadataleranges_disp(struct dm_report *rh, struct dm_pool *mem,
|
||||
struct dm_report_field *field,
|
||||
const void *data, void *private)
|
||||
|
Loading…
Reference in New Issue
Block a user