[lvm-devel] master - report: Rename common fields to special fields.

Alasdair Kergon agk at fedoraproject.org
Wed Jul 9 22:34:35 UTC 2014


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=a098cba0ebbd0682570cff2fc756a59533321f03
Commit:        a098cba0ebbd0682570cff2fc756a59533321f03
Parent:        46ea315f09306836cc10826b0e94da4685351d1c
Author:        Alasdair G Kergon <agk at redhat.com>
AuthorDate:    Wed Jul 9 23:33:09 2014 +0100
Committer:     Alasdair G Kergon <agk at redhat.com>
CommitterDate: Wed Jul 9 23:33:09 2014 +0100

report: Rename common fields to special fields.

Change the help heading from 'Common Fields' to 'Special Fields' for
the fields: selected, help, ?

Remove the code that does 'all' processing with these special fields as
each of them changes the behaviour of the command in an undesirable way.

'lvs -o all,selected' was of course just printing help.
(via internal expansion to 'lv_all,common_all')

and if we ignored the help fields, then '-o common_all' would still
pull in 'selected' and change the way rows were output.
---
 libdm/libdm-report.c |   52 ++++++++++++++++++++++---------------------------
 1 files changed, 23 insertions(+), 29 deletions(-)

diff --git a/libdm/libdm-report.c b/libdm/libdm-report.c
index ad89cf2..9b4ea87 100644
--- a/libdm/libdm-report.c
+++ b/libdm/libdm-report.c
@@ -193,10 +193,10 @@ struct row {
 /*
  * Implicit report types and fields.
  */
-#define COMMON_REPORT_TYPE 0x80000000
-#define COMMON_FIELD_SELECTED_ID "selected"
-#define COMMON_FIELD_HELP_ID "help"
-#define COMMON_FIELD_HELP_ALT_ID "?"
+#define SPECIAL_REPORT_TYPE 0x80000000
+#define SPECIAL_FIELD_SELECTED_ID "selected"
+#define SPECIAL_FIELD_HELP_ID "help"
+#define SPECIAL_FIELD_HELP_ALT_ID "?"
 
 static void *_null_returning_fn(void *obj __attribute__((unused)))
 {
@@ -222,26 +222,26 @@ static int _selected_disp(struct dm_report *rh,
 	return dm_report_field_int(rh, field, &row->selected);
 }
 
-static const struct dm_report_object_type _implicit_common_report_types[] = {
-	{ COMMON_REPORT_TYPE, "Common", "common_", _null_returning_fn },
+static const struct dm_report_object_type _implicit_special_report_types[] = {
+	{ SPECIAL_REPORT_TYPE, "Special", "special_", _null_returning_fn },
 	{ 0, "", "", NULL }
 };
 
-static const struct dm_report_field_type _implicit_common_report_fields[] = {
-	{ COMMON_REPORT_TYPE, DM_REPORT_FIELD_TYPE_NUMBER | FLD_CMP_UNCOMPARABLE, 0, 8, COMMON_FIELD_HELP_ID, "Help", _no_report_fn, "Show help." },
-	{ COMMON_REPORT_TYPE, DM_REPORT_FIELD_TYPE_NUMBER | FLD_CMP_UNCOMPARABLE, 0, 8, COMMON_FIELD_HELP_ALT_ID, "Help", _no_report_fn, "Show help." },
+static const struct dm_report_field_type _implicit_special_report_fields[] = {
+	{ SPECIAL_REPORT_TYPE, DM_REPORT_FIELD_TYPE_NUMBER | FLD_CMP_UNCOMPARABLE , 0, 8, SPECIAL_FIELD_HELP_ID, "Help", _no_report_fn, "Show help." },
+	{ SPECIAL_REPORT_TYPE, DM_REPORT_FIELD_TYPE_NUMBER | FLD_CMP_UNCOMPARABLE , 0, 8, SPECIAL_FIELD_HELP_ALT_ID, "Help", _no_report_fn, "Show help." },
 	{ 0, 0, 0, 0, "", "", 0, 0}
 };
 
-static const struct dm_report_field_type _implicit_common_report_fields_with_selection[] = {
-	{ COMMON_REPORT_TYPE, DM_REPORT_FIELD_TYPE_NUMBER, 0, 8, COMMON_FIELD_SELECTED_ID, "Selected", _selected_disp, "Item passes selection criteria." },
-	{ COMMON_REPORT_TYPE, DM_REPORT_FIELD_TYPE_NUMBER | FLD_CMP_UNCOMPARABLE, 0, 8, COMMON_FIELD_HELP_ID, "Help", _no_report_fn, "Show help." },
-	{ COMMON_REPORT_TYPE, DM_REPORT_FIELD_TYPE_NUMBER | FLD_CMP_UNCOMPARABLE, 0, 8, COMMON_FIELD_HELP_ALT_ID, "Help", _no_report_fn, "Show help." },
+static const struct dm_report_field_type _implicit_special_report_fields_with_selection[] = {
+	{ SPECIAL_REPORT_TYPE, DM_REPORT_FIELD_TYPE_NUMBER, 0, 8, SPECIAL_FIELD_SELECTED_ID, "Selected", _selected_disp, "Set if item passes selection criteria." },
+	{ SPECIAL_REPORT_TYPE, DM_REPORT_FIELD_TYPE_NUMBER | FLD_CMP_UNCOMPARABLE , 0, 8, SPECIAL_FIELD_HELP_ID, "Help", _no_report_fn, "Show help." },
+	{ SPECIAL_REPORT_TYPE, DM_REPORT_FIELD_TYPE_NUMBER | FLD_CMP_UNCOMPARABLE , 0, 8, SPECIAL_FIELD_HELP_ALT_ID, "Help", _no_report_fn, "Show help." },
 	{ 0, 0, 0, 0, "", "", 0, 0}
 };
 
-static const struct dm_report_object_type *_implicit_report_types = _implicit_common_report_types;
-static const struct dm_report_field_type *_implicit_report_fields = _implicit_common_report_fields;
+static const struct dm_report_object_type *_implicit_report_types = _implicit_special_report_types;
+static const struct dm_report_field_type *_implicit_report_fields = _implicit_special_report_fields;
 
 static const struct dm_report_object_type *_find_type(struct dm_report *rh,
 						      uint32_t report_type)
@@ -626,11 +626,10 @@ static void _display_fields_more(struct dm_report *rh,
 			log_warn("%*.*s", (int) strlen(desc) + 7,
 				 (int) strlen(desc) + 7,
 				 "-------------------------------------------------------------------------------");
-			if (display_all_fields_item) {
+			if (display_all_fields_item && type->id != SPECIAL_REPORT_TYPE)
 				log_warn("  %sall%-*s - %s", type->prefix,
 					 (int) (id_len - 3 - strlen(type->prefix)), "",
 					 "All fields in this section.");
-			}
 		}
 		/* FIXME Add line-wrapping at terminal width (or 80 cols) */
 		log_warn("  %-*s - %s%s%s%s%s", (int) id_len, fields[f].id, fields[f].desc,
@@ -783,7 +782,6 @@ static uint32_t _all_match(struct dm_report *rh, const char *field, size_t flen)
 	}
 
 	/* Combine all report types that have a matching prefix. */
-	_all_match_combine(_implicit_report_types, unprefixed_all_matched, field, flen, &report_types);
 	_all_match_combine(rh->types, unprefixed_all_matched, field, flen, &report_types);
 
 	return report_types;
@@ -796,10 +794,6 @@ static int _add_all_fields(struct dm_report *rh, uint32_t type)
 {
 	uint32_t f;
 
-	for (f = 0; _implicit_report_fields[f].report_fn; f++)
-		if ((_implicit_report_fields[f].type & type) && !_add_field(rh, f, 1, 0))
-			return 0;
-
 	for (f = 0; rh->fields[f].report_fn; f++)
 		if ((rh->fields[f].type & type) && !_add_field(rh, f, 0, 0))
 			return 0;
@@ -1030,8 +1024,8 @@ static int _help_requested(struct dm_report *rh)
 
 	dm_list_iterate_items(fp, &rh->field_props) {
 		if (fp->implicit &&
-		    (!strcmp(_implicit_report_fields[fp->field_num].id, COMMON_FIELD_HELP_ID) ||
-		     !strcmp(_implicit_report_fields[fp->field_num].id, COMMON_FIELD_HELP_ALT_ID)))
+		    (!strcmp(_implicit_report_fields[fp->field_num].id, SPECIAL_FIELD_HELP_ID) ||
+		     !strcmp(_implicit_report_fields[fp->field_num].id, SPECIAL_FIELD_HELP_ALT_ID)))
 			return 1;
 	}
 
@@ -1181,7 +1175,7 @@ static void *_report_get_field_data(struct dm_report *rh,
 static void *_report_get_implicit_field_data(struct dm_report *rh __attribute__((unused)),
 					     struct field_properties *fp, struct row *row)
 {
-	if (!strcmp(_implicit_report_fields[fp->field_num].id, COMMON_FIELD_SELECTED_ID))
+	if (!strcmp(_implicit_report_fields[fp->field_num].id, SPECIAL_FIELD_SELECTED_ID))
 		return row;
 
 	return NULL;
@@ -1468,7 +1462,7 @@ int dm_report_object(struct dm_report *rh, void *object)
 
 		if (fp->implicit) {
 			fields = _implicit_report_fields;
-			if (!strcmp(fields[fp->field_num].id, COMMON_FIELD_SELECTED_ID))
+			if (!strcmp(fields[fp->field_num].id, SPECIAL_FIELD_SELECTED_ID))
 				field_sel_status = field;
 		} else
 			fields = rh->fields;
@@ -2700,7 +2694,7 @@ struct dm_report *dm_report_init_with_selection(uint32_t *report_types,
 	struct selection_node *root = NULL;
 	const char *fin, *next;
 
-	_implicit_report_fields = _implicit_common_report_fields_with_selection;
+	_implicit_report_fields = _implicit_special_report_fields_with_selection;
 
 	if (!(rh = dm_report_init(report_types, types, fields, output_fields,
 			output_separator, output_flags, sort_keys, private_data)))
@@ -2719,8 +2713,8 @@ struct dm_report *dm_report_init_with_selection(uint32_t *report_types,
 	}
 	rh->reserved_values = reserved_values;
 
-	if (!strcasecmp(selection, COMMON_FIELD_HELP_ID) ||
-	    !strcmp(selection, COMMON_FIELD_HELP_ALT_ID)) {
+	if (!strcasecmp(selection, SPECIAL_FIELD_HELP_ID) ||
+	    !strcmp(selection, SPECIAL_FIELD_HELP_ALT_ID)) {
 		_display_fields(rh, 0, 1);
 		log_warn(" ");
 		_display_selection_help(rh);




More information about the lvm-devel mailing list