From: Lukáš Nykrýn Date: Fri, 1 Dec 2017 19:34:49 +0000 (+0100) Subject: shared/dropin: ignore ENAMETOOLONG when checking drop-in directories (#7525) X-Git-Tag: v236~80 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dfeec916b57b593ce07d3751aebdb0cce1d05201;p=thirdparty%2Fsystemd.git shared/dropin: ignore ENAMETOOLONG when checking drop-in directories (#7525) This usually happens for device units with long path in /sys. But users can't even create such drop-ins, so lets just ignore the error here. Fixes #6867 --- diff --git a/src/shared/dropin.c b/src/shared/dropin.c index a16f436bede..f0966874eee 100644 --- a/src/shared/dropin.c +++ b/src/shared/dropin.c @@ -128,7 +128,11 @@ static int unit_file_find_dir( assert(path); r = chase_symlinks(path, original_root, 0, &chased); - if (r == -ENOENT) /* Ignore -ENOENT, after all most units won't have a drop-in dir */ + /* Ignore -ENOENT, after all most units won't have a drop-in dir. + * Also ignore -ENAMETOOLONG, users are not even able to create + * the drop-in dir in such case. This mostly happens for device units with long /sys path. + * */ + if (IN_SET(r, -ENOENT, -ENAMETOOLONG)) return 0; if (r < 0) return log_full_errno(LOG_WARNING, r, "Failed to canonicalize path %s: %m", path);