summaryrefslogtreecommitdiff
path: root/src/resolve/resolved-resolv-conf.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-11-18 15:12:44 +0100
committerLennart Poettering <lennart@poettering.net>2020-12-02 10:32:17 +0100
commitf3e1f00d03445911ee73729219cea88c8a70c612 (patch)
treeaafc7dcd5cf9bd097a796f982d534bc72bf7eba9 /src/resolve/resolved-resolv-conf.c
parent1098142436f46b889f6b7bcc87af54bc5b95d560 (diff)
downloadsystemd-f3e1f00d03445911ee73729219cea88c8a70c612.tar.gz
resolved: don't update resolv.conf snippets unnecessarily
Fixes: #17577
Diffstat (limited to 'src/resolve/resolved-resolv-conf.c')
-rw-r--r--src/resolve/resolved-resolv-conf.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/resolve/resolved-resolv-conf.c b/src/resolve/resolved-resolv-conf.c
index 6fd9959daf..33fc435a9a 100644
--- a/src/resolve/resolved-resolv-conf.c
+++ b/src/resolve/resolved-resolv-conf.c
@@ -359,8 +359,9 @@ int manager_write_resolv_conf(Manager *m) {
goto fail;
}
- if (rename(temp_path_stub, PRIVATE_STUB_RESOLV_CONF) < 0)
- r = log_error_errno(errno, "Failed to move new %s into place: %m", PRIVATE_STUB_RESOLV_CONF);
+ r = conservative_rename(AT_FDCWD, temp_path_stub, AT_FDCWD, PRIVATE_STUB_RESOLV_CONF);
+ if (r < 0)
+ log_error_errno(r, "Failed to move new %s into place: %m", PRIVATE_STUB_RESOLV_CONF);
} else {
r = symlink_atomic(basename(PRIVATE_UPLINK_RESOLV_CONF), PRIVATE_STUB_RESOLV_CONF);
@@ -368,8 +369,9 @@ int manager_write_resolv_conf(Manager *m) {
log_error_errno(r, "Failed to symlink %s: %m", PRIVATE_STUB_RESOLV_CONF);
}
- if (rename(temp_path_uplink, PRIVATE_UPLINK_RESOLV_CONF) < 0)
- r = log_error_errno(errno, "Failed to move new %s into place: %m", PRIVATE_UPLINK_RESOLV_CONF);
+ r = conservative_rename(AT_FDCWD, temp_path_uplink, AT_FDCWD, PRIVATE_UPLINK_RESOLV_CONF);
+ if (r < 0)
+ log_error_errno(r, "Failed to move new %s into place: %m", PRIVATE_UPLINK_RESOLV_CONF);
fail:
if (r < 0) {