infra: remove superfluous name strings

This commit is contained in:
Thomas Schoebel-Theuer 2020-05-07 11:55:02 +02:00
parent 564f03e455
commit 4c2c3cd583
6 changed files with 75 additions and 59 deletions

View File

@ -167,7 +167,7 @@ int generic_brick_init_full(
// call the generic constructors
status = generic_brick_init(brick_type, brick, names ? *names++ : NULL);
status = generic_brick_init(brick_type, brick);
if (status)
return status;
data += brick_type->brick_size;
@ -179,7 +179,6 @@ int generic_brick_init_full(
if (!input_types) {
BRICK_DBG("generic_brick_init_full: switch to default input_types\n");
input_types = brick_type->default_input_types;
names = brick_type->default_input_names;
if (unlikely(!input_types)) {
BRICK_ERR("no input types specified\n");
return -EINVAL;
@ -199,7 +198,7 @@ int generic_brick_init_full(
return -EINVAL;
}
BRICK_DBG("generic_brick_init_full: calling generic_input_init()\n");
status = generic_input_init(brick, i, type, input, (names && *names) ? *names++ : type->type_name);
status = generic_input_init(brick, i, type, input);
if (status < 0)
return status;
data += type->input_size;
@ -210,7 +209,6 @@ int generic_brick_init_full(
if (!output_types) {
BRICK_DBG("generic_brick_init_full: switch to default output_types\n");
output_types = brick_type->default_output_types;
names = brick_type->default_output_names;
if (unlikely(!output_types)) {
BRICK_ERR("no output types specified\n");
return -EINVAL;
@ -229,7 +227,7 @@ int generic_brick_init_full(
return -EINVAL;
}
BRICK_DBG("generic_brick_init_full: calling generic_output_init()\n");
generic_output_init(brick, i, type, output, (names && *names) ? *names++ : type->type_name);
generic_output_init(brick, i, type, output);
if (status < 0)
return status;
data += type->output_size;

View File

@ -288,7 +288,6 @@ struct generic_switch {
};
#define GENERIC_BRICK(BRITYPE) \
const char *brick_name; \
const struct BRITYPE##_brick_type *type; \
struct BRITYPE##_brick_ops *ops; \
int nr_inputs; \
@ -305,7 +304,6 @@ struct generic_brick {
};
#define GENERIC_INPUT(BRITYPE) \
const char *input_name; \
struct BRITYPE##_brick *brick; \
const struct BRITYPE##_input_type *type; \
struct BRITYPE##_output *connect; \
@ -316,7 +314,6 @@ struct generic_input {
};
#define GENERIC_OUTPUT(BRITYPE) \
const char *output_name; \
struct BRITYPE##_brick *brick; \
const struct BRITYPE##_output_type *type; \
struct BRITYPE##_output_ops *ops; \
@ -365,9 +362,7 @@ struct generic_output_ops {
int max_inputs; \
int max_outputs; \
const struct BRITYPE##_input_type **default_input_types; \
const char **default_input_names; \
const struct BRITYPE##_output_type **default_output_types; \
const char **default_output_names; \
struct BRITYPE##_brick_ops *master_ops; \
const struct generic_aspect_type **aspect_types; \
const struct BRITYPE##_input_types **default_type; \
@ -402,9 +397,10 @@ struct generic_output_type {
int generic_register_brick_type(const struct generic_brick_type *new_type);
int generic_unregister_brick_type(const struct generic_brick_type *old_type);
INLINE void _generic_output_init(struct generic_brick *brick, const struct generic_output_type *type, struct generic_output *output, const char *output_name)
INLINE void _generic_output_init(struct generic_brick *brick,
const struct generic_output_type *type,
struct generic_output *output)
{
output->output_name = output_name;
output->brick = brick;
output->type = type;
output->ops = type->master_ops;
@ -415,7 +411,6 @@ INLINE void _generic_output_init(struct generic_brick *brick, const struct gener
INLINE void _generic_output_exit(struct generic_output *output)
{
list_del_init(&output->output_head);
output->output_name = NULL;
output->brick = NULL;
output->type = NULL;
output->ops = NULL;
@ -425,10 +420,9 @@ INLINE void _generic_output_exit(struct generic_output *output)
#ifdef _STRATEGY // call this only in strategy bricks, never in ordinary bricks
// you need this only if you circumvent generic_brick_init_full()
INLINE int generic_brick_init(const struct generic_brick_type *type, struct generic_brick *brick, const char *brick_name)
INLINE int generic_brick_init(const struct generic_brick_type *type, struct generic_brick *brick)
{
brick->brick_index = get_nr();
brick->brick_name = brick_name;
brick->type = type;
brick->ops = type->master_ops;
brick->nr_inputs = 0;
@ -442,7 +436,6 @@ INLINE int generic_brick_init(const struct generic_brick_type *type, struct gene
INLINE void generic_brick_exit(struct generic_brick *brick)
{
list_del_init(&brick->tmp_head);
brick->brick_name = NULL;
brick->type = NULL;
brick->ops = NULL;
brick->nr_inputs = 0;
@ -450,13 +443,15 @@ INLINE void generic_brick_exit(struct generic_brick *brick)
put_nr(brick->brick_index);
}
INLINE int generic_input_init(struct generic_brick *brick, int index, const struct generic_input_type *type, struct generic_input *input, const char *input_name)
INLINE int generic_input_init(struct generic_brick *brick,
int index,
const struct generic_input_type *type,
struct generic_input *input)
{
if (index < 0 || index >= brick->type->max_inputs)
return -EINVAL;
if (brick->inputs[index])
return -EEXIST;
input->input_name = input_name;
input->brick = brick;
input->type = type;
input->connect = NULL;
@ -469,19 +464,21 @@ INLINE int generic_input_init(struct generic_brick *brick, int index, const stru
INLINE void generic_input_exit(struct generic_input *input)
{
list_del_init(&input->input_head);
input->input_name = NULL;
input->brick = NULL;
input->type = NULL;
input->connect = NULL;
}
INLINE int generic_output_init(struct generic_brick *brick, int index, const struct generic_output_type *type, struct generic_output *output, const char *output_name)
INLINE int generic_output_init(struct generic_brick *brick,
int index,
const struct generic_output_type *type,
struct generic_output *output)
{
if (index < 0 || index >= brick->type->max_outputs)
return -ENOMEM;
if (brick->outputs[index])
return -EEXIST;
_generic_output_init(brick, type, output, output_name);
_generic_output_init(brick, type, output);
brick->outputs[index] = output;
brick->nr_outputs++;
return 0;
@ -578,13 +575,13 @@ extern const struct BRITYPE##_brick_type BRITYPE##_brick_type; \
extern const struct BRITYPE##_input_type BRITYPE##_input_type; \
extern const struct BRITYPE##_output_type BRITYPE##_output_type; \
\
INLINE void _##BRITYPE##_output_init(struct BRITYPE##_brick *brick, struct BRITYPE##_output *output, char *output_name) \
INLINE void _##BRITYPE##_output_init(struct BRITYPE##_brick *brick, \
struct BRITYPE##_output *output) \
{ \
_generic_output_init( \
(struct generic_brick*)brick, \
(const struct generic_output_type*)&BRITYPE##_output_type, \
(struct generic_output*)output, \
output_name); \
(struct generic_output*)output); \
} \
///////////////////////////////////////////////////////////////////////

View File

@ -57,10 +57,9 @@
struct check_input *input = (output)->brick->inputs[0]; \
struct generic_output *other = (void*)input->connect; \
if (other) { \
MARS_ERR("instance %d/%s/%s: " fmt, \
MARS_ERR("instance %d/%s: " fmt, \
(output)->instance_nr, \
other->type->type_name, \
other->output_name, \
##args); \
} else { \
MARS_ERR("instance %d: " fmt, \

View File

@ -317,7 +317,7 @@ int _set_server_sio_params(struct mars_brick *_brick, void *private)
}
sio_brick->o_direct = false;
sio_brick->o_fdsync = false;
MARS_INF("name = '%s' path = '%s'\n", _brick->brick_name, _brick->brick_path);
MARS_INF("path = '%s'\n", _brick->brick_path);
return 1;
}
@ -335,7 +335,7 @@ int _set_server_aio_params(struct mars_brick *_brick, void *private)
aio_brick->o_creat = false;
aio_brick->o_direct = false;
aio_brick->o_fdsync = false;
MARS_INF("name = '%s' path = '%s'\n", _brick->brick_name, _brick->brick_path);
MARS_INF("path = '%s'\n", _brick->brick_path);
return 1;
}
@ -357,7 +357,7 @@ int _set_server_bio_params(struct mars_brick *_brick, void *private)
bio_brick->ra_pages = 0;
bio_brick->do_sync = true;
bio_brick->do_unplug = true;
MARS_INF("name = '%s' path = '%s'\n", _brick->brick_name, _brick->brick_path);
MARS_INF("path = '%s'\n", _brick->brick_path);
return 1;
}

View File

@ -982,7 +982,7 @@ int _set_trans_params(struct mars_brick *_brick, void *private)
#endif
}
MARS_INF("name = '%s' path = '%s'\n", _brick->brick_name, _brick->brick_path);
MARS_INF("path = '%s'\n", _brick->brick_path);
return 1;
}
@ -998,7 +998,7 @@ int _set_client_params(struct mars_brick *_brick, void *private)
struct client_cookie *clc = private;
client_brick->limit_mode = clc ? clc->limit_mode : false;
client_brick->killme = true;
MARS_INF("name = '%s' path = '%s'\n", _brick->brick_name, _brick->brick_path);
MARS_INF("path = '%s'\n", _brick->brick_path);
return 1;
}
@ -1016,7 +1016,7 @@ int _set_sio_params(struct mars_brick *_brick, void *private)
sio_brick->o_direct = false; // important!
sio_brick->o_fdsync = true;
sio_brick->killme = true;
MARS_INF("name = '%s' path = '%s'\n", _brick->brick_name, _brick->brick_path);
MARS_INF("path = '%s'\n", _brick->brick_path);
return 1;
}
@ -1039,7 +1039,7 @@ int _set_aio_params(struct mars_brick *_brick, void *private)
aio_brick->o_direct = false; // important!
aio_brick->o_fdsync = true;
aio_brick->killme = true;
MARS_INF("name = '%s' path = '%s'\n", _brick->brick_name, _brick->brick_path);
MARS_INF("path = '%s'\n", _brick->brick_path);
return 1;
}
@ -1065,7 +1065,7 @@ int _set_bio_params(struct mars_brick *_brick, void *private)
bio_brick->do_sync = BIO_SYNC;
bio_brick->do_unplug = BIO_UNPLUG;
bio_brick->killme = true;
MARS_INF("name = '%s' path = '%s'\n", _brick->brick_name, _brick->brick_path);
MARS_INF("path = '%s'\n", _brick->brick_path);
return 1;
}
@ -1083,7 +1083,9 @@ int _set_if_params(struct mars_brick *_brick, void *private)
if_brick->max_plugged = IF_MAX_PLUGGED;
if_brick->readahead = IF_READAHEAD;
if_brick->skip_sync = IF_SKIP_SYNC;
MARS_INF("name = '%s' path = '%s' size = %lld\n", _brick->brick_name, _brick->brick_path, if_brick->dev_size);
MARS_INF("path = '%s' size = %lld\n",
_brick->brick_path,
if_brick->dev_size);
return 1;
}
@ -1117,7 +1119,7 @@ int _set_copy_params(struct mars_brick *_brick, void *private)
copy_brick->verify_mode = cc->verify_mode;
copy_brick->repair_mode = true;
copy_brick->killme = true;
MARS_INF("name = '%s' path = '%s'\n", _brick->brick_name, _brick->brick_path);
MARS_INF("path = '%s'\n", _brick->brick_path);
/* Determine the copy area, switch on/off when necessary
*/
@ -5760,7 +5762,6 @@ int make_bio(struct mars_dent *dent)
status = -ENXIO;
goto done;
}
brick->outputs[0]->output_name = dent->d_path;
if (brick->type == (void *)&bio_brick_type)
__show_actual(rot->parent_path,
"disk-error",
@ -6540,7 +6541,8 @@ static int prepare_delete(struct mars_dent *dent)
if (brick &&
unlikely((brick->nr_outputs > 0 && brick->outputs[0] && brick->outputs[0]->nr_connected) ||
(brick->type == (void*)&if_brick_type && !brick->power.led_off))) {
MARS_WRN("target '%s' cannot be deleted, its brick '%s' in use\n", dent->new_link, SAFE_STR(brick->brick_name));
MARS_WRN("target '%s' cannot be deleted, its brick '%s' in use\n",
dent->new_link, SAFE_STR(brick->brick_path));
goto done;
}

View File

@ -1225,7 +1225,8 @@ bool mars_check_inputs(struct mars_brick *brick)
if (likely(brick->type)) {
max_inputs = brick->type->max_inputs;
} else {
MARS_ERR("uninitialized brick '%s' '%s'\n", SAFE_STR(brick->brick_name), SAFE_STR(brick->brick_path));
MARS_ERR("uninitialized brick '%s'\n",
SAFE_STR(brick->brick_path));
return true;
}
for (i = 0; i < max_inputs; i++) {
@ -1277,7 +1278,8 @@ int mars_power_button(struct mars_brick *brick, bool val, bool force_off)
status = -EINVAL;
if (val) { // check all inputs
if (unlikely(mars_check_inputs(brick))) {
MARS_ERR("CANNOT SWITCH ON: brick '%s' '%s' has a turned-off predecessor\n", brick->brick_name, brick->brick_path);
MARS_ERR("CANNOT SWITCH ON: brick '%s' has a turned-off predecessor\n",
brick->brick_path);
goto done;
}
} else { // check all outputs
@ -1289,18 +1291,23 @@ int mars_power_button(struct mars_brick *brick, bool val, bool force_off)
* Probabĺy it is a good idea to retain the stronger rule
* as long as nobody needs the relaxed one.
*/
MARS_ERR("CANNOT SWITCH OFF: brick '%s' '%s' has a successor\n", brick->brick_name, brick->brick_path);
MARS_ERR("CANNOT SWITCH OFF: brick '%s' has a successor\n",
brick->brick_path);
goto done;
}
}
MARS_DBG("brick '%s' '%s' type '%s' power button %d -> %d\n", brick->brick_name, brick->brick_path, brick->type->type_name, oldval, val);
MARS_DBG("brick '%s' type '%s' power button %d -> %d\n",
brick->brick_path,
brick->type->type_name,
oldval, val);
set_button(&brick->power, val, false);
}
if (unlikely(!brick->ops)) {
MARS_ERR("brick '%s' '%s' has no brick_switch() method\n", brick->brick_name, brick->brick_path);
MARS_ERR("brick '%s' has no brick_switch() method\n",
brick->brick_path);
status = -EINVAL;
goto done;
}
@ -2682,7 +2689,8 @@ int mars_free_brick(struct mars_brick *brick)
maxsleep -= sleeptime;
}
MARS_DBG("===> freeing brick name = '%s' path = '%s'\n", brick->brick_name, brick->brick_path);
MARS_DBG("===> freeing brick path = '%s'\n",
brick->brick_path);
global = brick->global;
if (global) {
@ -2700,8 +2708,8 @@ int mars_free_brick(struct mars_brick *brick)
}
}
MARS_DBG("deallocate name = '%s' path = '%s'\n", SAFE_STR(brick->brick_name), SAFE_STR(brick->brick_path));
brick_string_free(brick->brick_name);
MARS_DBG("deallocate path = '%s'\n",
SAFE_STR(brick->brick_path));
brick_string_free(brick->brick_path);
brick_string_free(brick->resource_name);
@ -2798,6 +2806,7 @@ struct mars_brick *mars_make_brick(struct mars_global *global,
}
up_write(&global->brick_mutex);
brick_string_free(name);
return res;
err_path:
@ -2818,7 +2827,9 @@ int mars_kill_brick(struct mars_brick *brick)
CHECK_PTR(brick, done);
global = brick->global;
MARS_DBG("===> killing brick %s path = '%s' name = '%s'\n", brick->type ? SAFE_STR(brick->type->type_name) : "undef", SAFE_STR(brick->brick_path), SAFE_STR(brick->brick_name));
MARS_DBG("===> killing brick %s path = '%s'\n",
brick->type ? SAFE_STR(brick->type->type_name) : "undef",
SAFE_STR(brick->brick_path));
if (unlikely(brick->nr_outputs > 0 && brick->outputs[0] && brick->outputs[0]->nr_connected)) {
MARS_ERR("sorry, output is in use '%s'\n", SAFE_STR(brick->brick_path));
@ -2843,10 +2854,12 @@ int mars_kill_brick(struct mars_brick *brick)
if (likely(brick->type)) {
max_inputs = brick->type->max_inputs;
} else {
MARS_ERR("uninitialized brick '%s' '%s'\n", SAFE_STR(brick->brick_name), SAFE_STR(brick->brick_path));
MARS_ERR("uninitialized brick '%s'\n",
SAFE_STR(brick->brick_path));
}
MARS_DBG("---> freeing '%s' '%s'\n", SAFE_STR(brick->brick_name), SAFE_STR(brick->brick_path));
MARS_DBG("---> freeing '%s'\n",
SAFE_STR(brick->brick_path));
if (brick->kill_ptr)
*brick->kill_ptr = NULL;
@ -2858,7 +2871,9 @@ int mars_kill_brick(struct mars_brick *brick)
status = mars_disconnect(input);
if (unlikely(status < 0)) {
failed = true;
MARS_ERR("brick '%s' '%s' disconnect %d failed, status = %d\n", SAFE_STR(brick->brick_name), SAFE_STR(brick->brick_path), i, status);
MARS_ERR("brick '%s' disconnect %d failed, status = %d\n",
SAFE_STR(brick->brick_path),
i, status);
}
}
if (failed)
@ -2866,17 +2881,20 @@ int mars_kill_brick(struct mars_brick *brick)
if (likely(brick->free)) {
status = brick->free(brick);
if (unlikely(status < 0)) {
MARS_ERR("freeing '%s' '%s' failed, status = %d\n", SAFE_STR(brick->brick_name), SAFE_STR(brick->brick_path), status);
MARS_ERR("freeing '%s' failed, status = %d\n",
SAFE_STR(brick->brick_path),
status);
goto done;
}
} else {
MARS_ERR("brick '%s' '%s' has no destructor\n", SAFE_STR(brick->brick_name), SAFE_STR(brick->brick_path));
MARS_ERR("brick '%s' has no destructor\n",
SAFE_STR(brick->brick_path));
}
status = 0;
} else {
/* This may happen regularly when bricks are shut down in parallel */
MARS_INF("brick '%s' '%s' is not off\n",
SAFE_STR(brick->brick_name), SAFE_STR(brick->brick_path));
MARS_INF("brick '%s' is not off\n",
SAFE_STR(brick->brick_path));
status = -EUCLEAN;
}
@ -3021,8 +3039,8 @@ restart:
up_write(&global->brick_mutex);
}
MARS_DBG("KILLING '%s' '%s'\n",
brick->brick_path, brick->brick_name);
MARS_DBG("KILLING '%s'\n",
brick->brick_path);
status = mars_kill_brick(brick);
if (status >= 0)
@ -3404,7 +3422,7 @@ void _show_one(struct mars_brick *test, int *brick_count)
if (*brick_count) {
MARS_STAT("---------\n");
}
MARS_STAT("BRICK type = %s path = '%s' name = '%s' "
MARS_STAT("BRICK type = %s path = '%s' "
"create_stamp = %lld.%09ld "
"size_hint=%d "
"mrefs_alloc = %d "
@ -3415,7 +3433,6 @@ void _show_one(struct mars_brick *test, int *brick_count)
"button = %d force_off = %d off = %d on = %d\n",
SAFE_STR(test->type->type_name),
SAFE_STR(test->brick_path),
SAFE_STR(test->brick_name),
(s64)test->create_stamp.tv_sec, test->create_stamp.tv_nsec,
test->mref_object_layout.size_hint,
atomic_read(&test->mref_object_layout.alloc_count),
@ -3439,7 +3456,10 @@ void _show_one(struct mars_brick *test, int *brick_count)
struct mars_input *input = test->inputs[i];
struct mars_output *output = input ? input->connect : NULL;
if (output) {
MARS_STAT(" input %d connected with %s path = '%s' name = '%s'\n", i, SAFE_STR(output->brick->type->type_name), SAFE_STR(output->brick->brick_path), SAFE_STR(output->brick->brick_name));
MARS_STAT(" input %d connected with %s path = '%s'\n",
i,
SAFE_STR(output->brick->type->type_name),
SAFE_STR(output->brick->brick_path));
} else {
MARS_STAT(" input %d not connected\n", i);
}