aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorнаб <[email protected]>2021-04-02 20:47:00 +0200
committerBrian Behlendorf <[email protected]>2021-04-14 13:19:49 -0700
commit018560b1537a8b6ac54e875bc4d46d48760283fa (patch)
treed7c8a6e5968496d09d5fdf64253485929a4c9ffc
parent48b60cffda5196f0b84bb2279fe03d26b67a736f (diff)
zed: merge all _NOT_IMPLEMENTED_ events
These events should currently never be generated. Also untag _zed_event_add_nvpair() from merge with zpool_do_events_nvprint() ‒ they serve different purposes (machine, usually script vs human consumption) and format the output differently as it stands Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Ahelenia Ziemiańska <[email protected]> Closes #11834
-rw-r--r--cmd/zed/zed_event.c22
-rw-r--r--man/man8/zed.8.in3
2 files changed, 5 insertions, 20 deletions
diff --git a/cmd/zed/zed_event.c b/cmd/zed/zed_event.c
index a2753ced0..5e28bb22c 100644
--- a/cmd/zed/zed_event.c
+++ b/cmd/zed/zed_event.c
@@ -249,7 +249,7 @@ _zed_event_value_is_hex(const char *name)
*
* All environment variables in [zsp] should be added through this function.
*/
-static int
+static __attribute__((format(printf, 5, 6))) int
_zed_event_add_var(uint64_t eid, zed_strings_t *zsp,
const char *prefix, const char *name, const char *fmt, ...)
{
@@ -624,8 +624,6 @@ _zed_event_add_string_array(uint64_t eid, zed_strings_t *zsp,
* Convert the nvpair [nvp] to a string which is added to the environment
* of the child process.
* Return 0 on success, -1 on error.
- *
- * FIXME: Refactor with cmd/zpool/zpool_main.c:zpool_do_events_nvprint()?
*/
static void
_zed_event_add_nvpair(uint64_t eid, zed_strings_t *zsp, nvpair_t *nvp)
@@ -724,23 +722,11 @@ _zed_event_add_nvpair(uint64_t eid, zed_strings_t *zsp, nvpair_t *nvp)
_zed_event_add_var(eid, zsp, prefix, name,
"%llu", (u_longlong_t)i64);
break;
- case DATA_TYPE_NVLIST:
- _zed_event_add_var(eid, zsp, prefix, name,
- "%s", "_NOT_IMPLEMENTED_"); /* FIXME */
- break;
case DATA_TYPE_STRING:
(void) nvpair_value_string(nvp, &str);
_zed_event_add_var(eid, zsp, prefix, name,
"%s", (str ? str : "<NULL>"));
break;
- case DATA_TYPE_BOOLEAN_ARRAY:
- _zed_event_add_var(eid, zsp, prefix, name,
- "%s", "_NOT_IMPLEMENTED_"); /* FIXME */
- break;
- case DATA_TYPE_BYTE_ARRAY:
- _zed_event_add_var(eid, zsp, prefix, name,
- "%s", "_NOT_IMPLEMENTED_"); /* FIXME */
- break;
case DATA_TYPE_INT8_ARRAY:
_zed_event_add_int8_array(eid, zsp, prefix, nvp);
break;
@@ -768,9 +754,11 @@ _zed_event_add_nvpair(uint64_t eid, zed_strings_t *zsp, nvpair_t *nvp)
case DATA_TYPE_STRING_ARRAY:
_zed_event_add_string_array(eid, zsp, prefix, nvp);
break;
+ case DATA_TYPE_NVLIST:
+ case DATA_TYPE_BOOLEAN_ARRAY:
+ case DATA_TYPE_BYTE_ARRAY:
case DATA_TYPE_NVLIST_ARRAY:
- _zed_event_add_var(eid, zsp, prefix, name,
- "%s", "_NOT_IMPLEMENTED_"); /* FIXME */
+ _zed_event_add_var(eid, zsp, prefix, name, "_NOT_IMPLEMENTED_");
break;
default:
errno = EINVAL;
diff --git a/man/man8/zed.8.in b/man/man8/zed.8.in
index eb3b9e015..ce12d8746 100644
--- a/man/man8/zed.8.in
+++ b/man/man8/zed.8.in
@@ -234,9 +234,6 @@ Terminate the daemon.
.PP
ZEDLETs are unable to return state/status information to the kernel.
.PP
-Some zevent nvpair types are not handled. These are denoted by zevent
-environment variables having a "_NOT_IMPLEMENTED_" value.
-.PP
Internationalization support via gettext has not been added.
.PP
The diagnosis engine is not yet implemented.