From dfeec916b57b593ce07d3751aebdb0cce1d05201 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Nykr=C3=BDn?= Date: Fri, 1 Dec 2017 20:34:49 +0100 Subject: [PATCH] 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 --- src/shared/dropin.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/shared/dropin.c b/src/shared/dropin.c index a16f436bed..f0966874ee 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);