From: Yu Watanabe Date: Mon, 5 Oct 2020 21:39:22 +0000 (+0900) Subject: udevadm: ignore -ENODEV on trigger X-Git-Tag: v247-rc1~120 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1b97c5cba58fdd1138e7622d7edef9a48309b0e2;p=thirdparty%2Fsystemd.git udevadm: ignore -ENODEV on trigger The commit 88da55e28b467999da005591d3252a98f4436522 erroneously makes `udevadm trigger` treat -ENODEV error critical. This makes -ENODEV ignored again. Fixes #17250. --- diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c index 0da4ea787b0..a588d18fd11 100644 --- a/src/udev/udevadm-trigger.c +++ b/src/udev/udevadm-trigger.c @@ -45,12 +45,12 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set **settle_s r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER); if (r < 0) { - bool ignore = r == -ENOENT; + bool ignore = IN_SET(r, -ENOENT, -ENODEV); log_full_errno(ignore ? LOG_DEBUG : LOG_ERR, r, "Failed to write '%s' to '%s'%s: %m", action, filename, ignore ? ", ignoring" : ""); - if (IN_SET(r, -EACCES, -ENODEV, -EROFS)) + if (IN_SET(r, -EACCES, -EROFS)) /* Inovoked by unpriviledged user, or read only filesystem. Return earlier. */ return r; if (ret == 0 && !ignore)