1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

cov: replace enum report_type_t with unsigned

Another enum used as bitfield mask.
This commit is contained in:
Zdenek Kabelac 2024-05-27 15:10:58 +02:00
parent 90c6c421cd
commit 9dfe5ce2bc
5 changed files with 43 additions and 49 deletions

View File

@ -4446,7 +4446,7 @@ report_headings_t report_headings_str_to_type(const char *str)
} }
void *report_init(struct cmd_context *cmd, const char *format, const char *keys, void *report_init(struct cmd_context *cmd, const char *format, const char *keys,
report_type_t *report_type, const char *separator, unsigned *report_type, const char *separator,
int aligned, int buffered, report_headings_t headings, int aligned, int buffered, report_headings_t headings,
int field_prefixes, int quoted, int columns_as_rows, int field_prefixes, int quoted, int columns_as_rows,
const char *selection, int multiple_output) const char *selection, int multiple_output)
@ -4507,7 +4507,7 @@ void *report_init(struct cmd_context *cmd, const char *format, const char *keys,
} }
void *report_init_for_selection(struct cmd_context *cmd, void *report_init_for_selection(struct cmd_context *cmd,
report_type_t *report_type, unsigned *report_type,
const char *selection_criteria) const char *selection_criteria)
{ {
return dm_report_init_with_selection(report_type, _report_types, _fields, return dm_report_init_with_selection(report_type, _report_types, _fields,
@ -4518,7 +4518,7 @@ void *report_init_for_selection(struct cmd_context *cmd,
cmd); cmd);
} }
int report_get_prefix_and_desc(report_type_t report_type_id, int report_get_prefix_and_desc(unsigned report_type_id,
const char **report_prefix, const char **report_prefix,
const char **report_desc) const char **report_desc)
{ {

View File

@ -20,7 +20,7 @@
#include "lib/label/label.h" #include "lib/label/label.h"
#include "lib/activate/activate.h" #include "lib/activate/activate.h"
typedef enum { enum {
CMDLOG = 1, CMDLOG = 1,
FULL = 2, FULL = 2,
LVS = 4, LVS = 4,
@ -33,7 +33,7 @@ typedef enum {
PVSEGS = 512, PVSEGS = 512,
LABEL = 1024, LABEL = 1024,
DEVTYPES = 2048 DEVTYPES = 2048
} report_type_t; };
typedef enum { typedef enum {
REPORT_HEADINGS_UNKNOWN = -1, REPORT_HEADINGS_UNKNOWN = -1,
@ -62,8 +62,8 @@ typedef enum {
*/ */
struct selection_handle { struct selection_handle {
struct dm_report *selection_rh; struct dm_report *selection_rh;
report_type_t orig_report_type; unsigned orig_report_type;
report_type_t report_type; unsigned report_type;
int selected; int selected;
}; };
@ -93,14 +93,14 @@ report_headings_t report_headings_str_to_type(const char *str);
int report_format_init(struct cmd_context *cmd); int report_format_init(struct cmd_context *cmd);
void *report_init(struct cmd_context *cmd, const char *format, const char *keys, void *report_init(struct cmd_context *cmd, const char *format, const char *keys,
report_type_t *report_type, const char *separator, unsigned *report_type, const char *separator,
int aligned, int buffered, report_headings_t headings, int aligned, int buffered, report_headings_t headings,
int field_prefixes, int quoted, int columns_as_rows, int field_prefixes, int quoted, int columns_as_rows,
const char *selection, int multiple_output); const char *selection, int multiple_output);
int report_get_single_selection(struct cmd_context *cmd, report_type_t report_type, const char **selection); int report_get_single_selection(struct cmd_context *cmd, unsigned report_type, const char **selection);
void *report_init_for_selection(struct cmd_context *cmd, report_type_t *report_type, void *report_init_for_selection(struct cmd_context *cmd, unsigned *report_type,
const char *selection); const char *selection);
int report_get_prefix_and_desc(report_type_t report_type_id, int report_get_prefix_and_desc(unsigned report_type_id,
const char **report_prefix, const char **report_prefix,
const char **report_desc); const char **report_desc);
int report_for_selection(struct cmd_context *cmd, int report_for_selection(struct cmd_context *cmd,

View File

@ -32,10 +32,10 @@ typedef enum {
#define REPORT_IDX_FULL_START REPORT_IDX_FULL_VGS #define REPORT_IDX_FULL_START REPORT_IDX_FULL_VGS
struct single_report_args { struct single_report_args {
report_type_t report_type; unsigned report_type;
int args_are_pvs;
char report_prefix[32]; char report_prefix[32];
const char *report_name; const char *report_name;
int args_are_pvs;
const char *keys; const char *keys;
const char *options; const char *options;
const char *fields_to_compact; const char *fields_to_compact;
@ -47,7 +47,7 @@ struct report_args {
int argc; int argc;
char **argv; char **argv;
dm_report_group_type_t report_group_type; dm_report_group_type_t report_group_type;
report_type_t report_type; unsigned report_type;
report_headings_t headings; report_headings_t headings;
int aligned; int aligned;
int buffered; int buffered;
@ -495,10 +495,10 @@ static int _pvsegs_in_vg(struct cmd_context *cmd, const char *vg_name,
static int _get_final_report_type(struct report_args *args, static int _get_final_report_type(struct report_args *args,
struct single_report_args *single_args, struct single_report_args *single_args,
report_type_t report_type, unsigned report_type,
int *lv_info_needed, int *lv_info_needed,
int *lv_segment_status_needed, int *lv_segment_status_needed,
report_type_t *final_report_type) unsigned *final_report_type)
{ {
/* Do we need to acquire LV device info in addition? */ /* Do we need to acquire LV device info in addition? */
*lv_info_needed = (report_type & (LVSINFO | LVSINFOSTATUS)) ? 1 : 0; *lv_info_needed = (report_type & (LVSINFO | LVSINFOSTATUS)) ? 1 : 0;
@ -546,12 +546,12 @@ static int _get_final_report_type(struct report_args *args,
} }
static int _report_all_in_vg(struct cmd_context *cmd, struct processing_handle *handle, static int _report_all_in_vg(struct cmd_context *cmd, struct processing_handle *handle,
struct volume_group *vg, report_type_t type, struct volume_group *vg, unsigned report_type,
int do_lv_info, int do_lv_seg_status) int do_lv_info, int do_lv_seg_status)
{ {
int r = ECMD_FAILED; int r = ECMD_FAILED;
switch (type) { switch (report_type) {
case VGS: case VGS:
r = _vgs_single(cmd, vg->name, vg, handle); r = _vgs_single(cmd, vg->name, vg, handle);
break; break;
@ -580,7 +580,8 @@ static int _report_all_in_vg(struct cmd_context *cmd, struct processing_handle *
&_pvsegs_single); &_pvsegs_single);
break; break;
default: default:
log_error(INTERNAL_ERROR "_report_all_in_vg: incorrect report type"); log_error(INTERNAL_ERROR "_report_all_in_vg: incorrect report type %u.",
report_type);
break; break;
} }
@ -588,12 +589,12 @@ static int _report_all_in_vg(struct cmd_context *cmd, struct processing_handle *
} }
static int _report_all_in_lv(struct cmd_context *cmd, struct processing_handle *handle, static int _report_all_in_lv(struct cmd_context *cmd, struct processing_handle *handle,
struct logical_volume *lv, report_type_t type, struct logical_volume *lv, unsigned report_type,
int do_lv_info, int do_lv_seg_status) int do_lv_info, int do_lv_seg_status)
{ {
int r = ECMD_FAILED; int r = ECMD_FAILED;
switch (type) { switch (report_type) {
case LVS: case LVS:
r = _do_lvs_with_info_and_status_single(cmd, lv, do_lv_info, do_lv_seg_status, handle); r = _do_lvs_with_info_and_status_single(cmd, lv, do_lv_info, do_lv_seg_status, handle);
break; break;
@ -605,7 +606,8 @@ static int _report_all_in_lv(struct cmd_context *cmd, struct processing_handle *
&_segs_single); &_segs_single);
break; break;
default: default:
log_error(INTERNAL_ERROR "_report_all_in_lv: incorrect report type"); log_error(INTERNAL_ERROR "_report_all_in_lv: incorrect report type %u.",
report_type);
break; break;
} }
@ -613,7 +615,7 @@ static int _report_all_in_lv(struct cmd_context *cmd, struct processing_handle *
} }
static int _report_all_in_pv(struct cmd_context *cmd, struct processing_handle *handle, static int _report_all_in_pv(struct cmd_context *cmd, struct processing_handle *handle,
struct physical_volume *pv, report_type_t type, struct physical_volume *pv, unsigned report_type,
int do_lv_info, int do_lv_seg_status) int do_lv_info, int do_lv_seg_status)
{ {
int r = ECMD_FAILED; int r = ECMD_FAILED;
@ -623,7 +625,7 @@ static int _report_all_in_pv(struct cmd_context *cmd, struct processing_handle *
return r; return r;
} }
switch (type) { switch (report_type) {
case PVS: case PVS:
r = _pvs_single(cmd, pv->vg, pv, handle); r = _pvs_single(cmd, pv->vg, pv, handle);
break; break;
@ -635,7 +637,8 @@ static int _report_all_in_pv(struct cmd_context *cmd, struct processing_handle *
&_pvsegs_sub_single); &_pvsegs_sub_single);
break; break;
default: default:
log_error(INTERNAL_ERROR "_report_all_in_pv: incorrect report type"); log_error(INTERNAL_ERROR "_report_all_in_pv: incorrect report type %u.",
report_type);
break; break;
} }
@ -649,7 +652,7 @@ int report_for_selection(struct cmd_context *cmd,
struct logical_volume *lv) struct logical_volume *lv)
{ {
struct selection_handle *sh = parent_handle->selection_handle; struct selection_handle *sh = parent_handle->selection_handle;
report_type_t initial_report_type = sh->report_type; unsigned initial_report_type = sh->report_type;
struct report_args args = {0}; struct report_args args = {0};
struct single_report_args *single_args = &args.single_args[REPORT_IDX_SINGLE]; struct single_report_args *single_args = &args.single_args[REPORT_IDX_SINGLE];
int do_lv_info, do_lv_seg_status; int do_lv_info, do_lv_seg_status;
@ -710,7 +713,8 @@ int report_for_selection(struct cmd_context *cmd,
r = _report_all_in_pv(cmd, handle, pv, sh->report_type, do_lv_info, do_lv_seg_status); r = _report_all_in_pv(cmd, handle, pv, sh->report_type, do_lv_info, do_lv_seg_status);
break; break;
default: default:
log_error(INTERNAL_ERROR "report_for_selection: incorrect report type"); log_error(INTERNAL_ERROR "report_for_selection: incorrect report type %u",
sh->orig_report_type);
break; break;
} }
@ -790,7 +794,7 @@ static void _del_option_from_list(struct dm_list *sll, const char *prefix,
#define _get_report_idx(report_type,single_report_type) \ #define _get_report_idx(report_type,single_report_type) \
((((report_type) != FULL) && ((report_type) == single_report_type)) ? REPORT_IDX_SINGLE : REPORT_IDX_FULL_ ## single_report_type) ((((report_type) != FULL) && ((report_type) == single_report_type)) ? REPORT_IDX_SINGLE : REPORT_IDX_FULL_ ## single_report_type)
static report_idx_t _get_report_idx_from_name(report_type_t report_type, const char *name) static report_idx_t _get_report_idx_from_name(unsigned report_type, const char *name)
{ {
report_idx_t idx; report_idx_t idx;
@ -819,14 +823,14 @@ static report_idx_t _get_report_idx_from_name(report_type_t report_type, const c
: _get_report_idx(report_type, LVS); : _get_report_idx(report_type, LVS);
else { else {
idx = REPORT_IDX_NULL; idx = REPORT_IDX_NULL;
log_error("Unknonwn report specifier in " log_error("Unknown report specifier in report option list: %s.",
"report option list: %s.", name); name);
} }
return idx; return idx;
} }
static int _should_process_report_idx(report_type_t report_type, int allow_single, report_idx_t idx) static int _should_process_report_idx(unsigned report_type, int allow_single, report_idx_t idx)
{ {
if (((idx == REPORT_IDX_LOG) && (report_type != CMDLOG)) || if (((idx == REPORT_IDX_LOG) && (report_type != CMDLOG)) ||
((idx == REPORT_IDX_SINGLE) && !allow_single) || ((idx == REPORT_IDX_SINGLE) && !allow_single) ||
@ -992,7 +996,7 @@ out:
} }
static int _do_report_get_selection(struct cmd_context *cmd, static int _do_report_get_selection(struct cmd_context *cmd,
report_type_t report_type, unsigned report_type,
int allow_single, int allow_single,
struct report_args *args, struct report_args *args,
const char **last_selection) const char **last_selection)
@ -1035,7 +1039,7 @@ static int _get_report_selection(struct cmd_context *cmd,
args, NULL) ? ECMD_PROCESSED : ECMD_FAILED; args, NULL) ? ECMD_PROCESSED : ECMD_FAILED;
} }
int report_get_single_selection(struct cmd_context *cmd, report_type_t report_type, const char **selection) int report_get_single_selection(struct cmd_context *cmd, unsigned report_type, const char **selection)
{ {
return _do_report_get_selection(cmd, report_type, 1, NULL, selection); return _do_report_get_selection(cmd, report_type, 1, NULL, selection);
} }
@ -1082,7 +1086,7 @@ static int _do_report(struct cmd_context *cmd, struct processing_handle *handle,
struct report_args *args, struct single_report_args *single_args) struct report_args *args, struct single_report_args *single_args)
{ {
void *orig_custom_handle = handle->custom_handle; void *orig_custom_handle = handle->custom_handle;
report_type_t report_type = single_args->report_type; unsigned report_type = single_args->report_type;
void *report_handle = NULL; void *report_handle = NULL;
int lv_info_needed; int lv_info_needed;
int lv_segment_status_needed; int lv_segment_status_needed;
@ -1381,7 +1385,7 @@ static int _config_report(struct cmd_context *cmd, struct report_args *args, str
return 1; return 1;
} }
static int _report(struct cmd_context *cmd, int argc, char **argv, report_type_t report_type) static int _report(struct cmd_context *cmd, int argc, char **argv, unsigned report_type)
{ {
struct report_args args = {0}; struct report_args args = {0};
struct single_report_args *single_args = &args.single_args[REPORT_IDX_SINGLE]; struct single_report_args *single_args = &args.single_args[REPORT_IDX_SINGLE];
@ -1438,12 +1442,7 @@ static int _report(struct cmd_context *cmd, int argc, char **argv, report_type_t
int lvs(struct cmd_context *cmd, int argc, char **argv) int lvs(struct cmd_context *cmd, int argc, char **argv)
{ {
report_type_t type; unsigned type = (arg_is_set(cmd, segments_ARG)) ? SEGS : LVS;
if (arg_is_set(cmd, segments_ARG))
type = SEGS;
else
type = LVS;
return _report(cmd, argc, argv, type); return _report(cmd, argc, argv, type);
} }
@ -1455,7 +1454,7 @@ int vgs(struct cmd_context *cmd, int argc, char **argv)
int pvs(struct cmd_context *cmd, int argc, char **argv) int pvs(struct cmd_context *cmd, int argc, char **argv)
{ {
report_type_t type; unsigned type = (arg_is_set(cmd, segments_ARG)) ? PVSEGS : LABEL;
/* /*
* Without -a, command only looks at PVs and can use hints, * Without -a, command only looks at PVs and can use hints,
@ -1469,11 +1468,6 @@ int pvs(struct cmd_context *cmd, int argc, char **argv)
cmd->use_hints = 0; cmd->use_hints = 0;
} }
if (arg_is_set(cmd, segments_ARG))
type = PVSEGS;
else
type = LABEL;
return _report(cmd, argc, argv, type); return _report(cmd, argc, argv, type);
} }

View File

@ -2038,7 +2038,7 @@ struct processing_handle *init_processing_handle(struct cmd_context *cmd, struct
} }
int init_selection_handle(struct cmd_context *cmd, struct processing_handle *handle, int init_selection_handle(struct cmd_context *cmd, struct processing_handle *handle,
report_type_t initial_report_type) unsigned initial_report_type)
{ {
struct selection_handle *sh; struct selection_handle *sh;
const char *selection; const char *selection;

View File

@ -159,7 +159,7 @@ int process_each_lv_in_vg(struct cmd_context *cmd, struct volume_group *vg,
struct processing_handle *init_processing_handle(struct cmd_context *cmd, struct processing_handle *parent_handle); struct processing_handle *init_processing_handle(struct cmd_context *cmd, struct processing_handle *parent_handle);
int init_selection_handle(struct cmd_context *cmd, struct processing_handle *handle, int init_selection_handle(struct cmd_context *cmd, struct processing_handle *handle,
report_type_t initial_report_type); unsigned initial_report_type);
void destroy_processing_handle(struct cmd_context *cmd, struct processing_handle *handle); void destroy_processing_handle(struct cmd_context *cmd, struct processing_handle *handle);
int select_match_vg(struct cmd_context *cmd, struct processing_handle *handle, int select_match_vg(struct cmd_context *cmd, struct processing_handle *handle,