diff --git a/libdm/libdm-common.c b/libdm/libdm-common.c index 49a77285c..75b2f5027 100644 --- a/libdm/libdm-common.c +++ b/libdm/libdm-common.c @@ -828,20 +828,24 @@ static int _other_node_ops(node_op_t type) static void _log_node_op(const char *action_str, struct node_op_parms *nop) { + const char *rely = nop->rely_on_udev ? " [trust_udev]" : "" ; + const char *verify = nop->warn_if_udev_failed ? " [verify_udev]" : ""; + switch (nop->type) { case NODE_ADD: - log_debug("%s: %s NODE_ADD (%" PRIu32 ",%" PRIu32 ") %u:%u 0%o", - nop->dev_name, action_str, nop->major, nop->minor, nop->uid, nop->gid, nop->mode); + log_debug("%s: %s NODE_ADD (%" PRIu32 ",%" PRIu32 ") %u:%u 0%o%s%s", + nop->dev_name, action_str, nop->major, nop->minor, nop->uid, nop->gid, nop->mode, + rely, verify); break; case NODE_DEL: - log_debug("%s: %s NODE_DEL", nop->dev_name, action_str); + log_debug("%s: %s NODE_DEL%s%s", nop->dev_name, action_str, rely, verify); break; case NODE_RENAME: - log_debug("%s: %s NODE_RENAME to %s", nop->old_name, action_str, nop->dev_name); + log_debug("%s: %s NODE_RENAME to %s%s%s", nop->old_name, action_str, nop->dev_name, rely, verify); break; case NODE_READ_AHEAD: - log_debug("%s: %s NODE_READ_AHEAD %" PRIu32 " (flags=%" PRIu32 - ")", nop->dev_name, action_str, nop->read_ahead, nop->read_ahead_flags); + log_debug("%s: %s NODE_READ_AHEAD %" PRIu32 " (flags=%" PRIu32 ")%s%s", + nop->dev_name, action_str, nop->read_ahead, nop->read_ahead_flags, rely, verify); break; default: ; /* NOTREACHED */ @@ -859,6 +863,13 @@ static int _stack_node_op(node_op_t type, const char *dev_name, uint32_t major, size_t len = strlen(dev_name) + strlen(old_name) + 2; char *pos; + /* + * Clear warn_if_udev_failed if rely_on_udev is set. It doesn't get + * checked in this case - this just removes the flag from log messages. + */ + if (rely_on_udev) + warn_if_udev_failed = 0; + /* * Note: warn_if_udev_failed must have valid content */ @@ -947,7 +958,7 @@ static void _pop_node_ops(void) nop->read_ahead, nop->read_ahead_flags, nop->warn_if_udev_failed); } else - _log_node_op("Skipping (udev)", nop); + _log_node_op("Skipping", nop); _del_node_op(nop); } } diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c index 72eef5767..180ca58e6 100644 --- a/libdm/libdm-deptree.c +++ b/libdm/libdm-deptree.c @@ -985,7 +985,7 @@ static int _deactivate_node(const char *name, uint32_t major, uint32_t minor, /* FIXME Until kernel returns actual name so dm-iface.c can handle it */ rm_dev_node(name, dmt->cookie_set && !(udev_flags & DM_UDEV_DISABLE_DM_RULES_FLAG), - dmt->cookie_set && !(udev_flags & DM_UDEV_DISABLE_LIBRARY_FALLBACK)); + dmt->cookie_set && (udev_flags & DM_UDEV_DISABLE_LIBRARY_FALLBACK)); /* FIXME Remove node from tree or mark invalid? */