mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-02 01:18:26 +03:00
Show available fields if report given invalid field. (e.g. lvs -o list)
This commit is contained in:
parent
f67c0fd5f7
commit
1baed0e1ae
@ -1,5 +1,6 @@
|
|||||||
Version 2.02.11 -
|
Version 2.02.11 -
|
||||||
=====================================
|
=====================================
|
||||||
|
Show available fields if report given invalid field. (e.g. lvs -o list)
|
||||||
Add timestamp functions with --disable-realtime configure option.
|
Add timestamp functions with --disable-realtime configure option.
|
||||||
Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg.
|
Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg.
|
||||||
Fix two potential NULL pointer derefs in error cases in vg_read().
|
Fix two potential NULL pointer derefs in error cases in vg_read().
|
||||||
|
@ -948,6 +948,44 @@ static struct {
|
|||||||
|
|
||||||
const unsigned int _num_fields = sizeof(_fields) / sizeof(_fields[0]);
|
const unsigned int _num_fields = sizeof(_fields) / sizeof(_fields[0]);
|
||||||
|
|
||||||
|
static void _display_fields(void)
|
||||||
|
{
|
||||||
|
uint32_t f;
|
||||||
|
const char *type, *last_type = "";
|
||||||
|
|
||||||
|
for (f = 0; f < _num_fields; f++) {
|
||||||
|
switch (_fields[f].type) {
|
||||||
|
case PVS:
|
||||||
|
type = "Physical Volume";
|
||||||
|
break;
|
||||||
|
case LVS:
|
||||||
|
type = "Logical Volume";
|
||||||
|
break;
|
||||||
|
case VGS:
|
||||||
|
type = "Volume Group";
|
||||||
|
break;
|
||||||
|
case SEGS:
|
||||||
|
type = "Logical Volume Segment";
|
||||||
|
break;
|
||||||
|
case PVSEGS:
|
||||||
|
type = "Physical Volume Segment";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
type = " ";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type != last_type) {
|
||||||
|
if (*last_type)
|
||||||
|
log_print(" ");
|
||||||
|
log_print("%s Fields", type);
|
||||||
|
}
|
||||||
|
|
||||||
|
log_print("- %s", _fields[f].id);
|
||||||
|
|
||||||
|
last_type = type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialise report handle
|
* Initialise report handle
|
||||||
*/
|
*/
|
||||||
@ -1080,6 +1118,8 @@ static int _parse_options(struct report_handle *rh, const char *format)
|
|||||||
while (*we && *we != ',')
|
while (*we && *we != ',')
|
||||||
we++;
|
we++;
|
||||||
if (!_field_match(rh, ws, (size_t) (we - ws))) {
|
if (!_field_match(rh, ws, (size_t) (we - ws))) {
|
||||||
|
_display_fields();
|
||||||
|
log_print(" ");
|
||||||
log_error("Unrecognised field: %.*s", (int) (we - ws),
|
log_error("Unrecognised field: %.*s", (int) (we - ws),
|
||||||
ws);
|
ws);
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user