From: Zbigniew Jędrzejewski-Szmek Date: Wed, 21 Aug 2019 07:14:52 +0000 (+0200) Subject: pid1: after creating transient drop-ins, put file in path cache X-Git-Tag: v243-rc2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4dba44a5a51193547c6888fc3e2b649bb115a5ec;p=thirdparty%2Fsystemd.git pid1: after creating transient drop-ins, put file in path cache The alternative would be to recreate the cache, but dropins can be created very often for transient settings, so updating the cache seems like a much faster option. Fixes #13287. --- diff --git a/src/core/unit.c b/src/core/unit.c index 9dc75223a72..f46858691b4 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -4583,6 +4583,15 @@ int unit_write_setting(Unit *u, UnitWriteFlags flags, const char *name, const ch return r; (void) mkdir_p_label(p, 0755); + + /* Make sure the drop-in dir is registered in our path cache. This way we don't need to stupidly + * recreate the cache after every drop-in we write. */ + if (u->manager->unit_path_cache) { + r = set_put_strdup(u->manager->unit_path_cache, p); + if (r < 0) + return r; + } + r = write_string_file_atomic_label(q, wrapped); if (r < 0) return r;