From: Yu Watanabe Date: Tue, 16 Oct 2018 19:04:35 +0000 (+0900) Subject: udev: make sd_device_get_devname() failure non-fatal X-Git-Tag: v240~532 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d86c8a6cdb7ae42819d7f0e8a8695e3982ef4ca9;p=thirdparty%2Fsystemd.git udev: make sd_device_get_devname() failure non-fatal As it is just for logging. Follow-up for eb276e98419af59d4a587f2dd37e0b923e4c6fd2. --- diff --git a/src/udev/udev-watch.c b/src/udev/udev-watch.c index 04182b2e151..3f5885c52e5 100644 --- a/src/udev/udev-watch.c +++ b/src/udev/udev-watch.c @@ -121,23 +121,22 @@ int udev_watch_begin(sd_device *dev) { int udev_watch_end(sd_device *dev) { char filename[STRLEN("/run/udev/watch/") + DECIMAL_STR_MAX(int)]; - const char *devnode; + const char *name = NULL; int wd, r; if (inotify_fd < 0) return log_error_errno(EINVAL, "Invalid inotify descriptor."); - r = sd_device_get_devname(dev, &devnode); - if (r < 0) - return log_error_errno(r, "Failed to get device name: %m"); + if (sd_device_get_devname(dev, &name) < 0) + (void) sd_device_get_syspath(dev, &name); r = device_get_watch_handle(dev, &wd); if (r == -ENOENT) return 0; if (r < 0) - return log_error_errno(r, "Failed to get watch handle for device '%s', ignoring: %m", devnode); + return log_error_errno(r, "Failed to get watch handle for device '%s', ignoring: %m", strnull(name)); - log_debug("Removing watch on '%s'", devnode); + log_debug("Removing watch on '%s'", strnull(name)); (void) inotify_rm_watch(inotify_fd, wd); xsprintf(filename, "/run/udev/watch/%d", wd);