summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/vyos-1x.install1
-rwxr-xr-xsrc/conf_mode/system-login.py3
-rwxr-xr-xsrc/etc/commit/post-hooks.d/00vyos-sync7
3 files changed, 8 insertions, 3 deletions
diff --git a/debian/vyos-1x.install b/debian/vyos-1x.install
index 96c3f2008..82f3f73fc 100644
--- a/debian/vyos-1x.install
+++ b/debian/vyos-1x.install
@@ -1,3 +1,4 @@
+etc/commit
etc/dhcp
etc/netplug
etc/ppp
diff --git a/src/conf_mode/system-login.py b/src/conf_mode/system-login.py
index ceca0a14b..aba10689d 100755
--- a/src/conf_mode/system-login.py
+++ b/src/conf_mode/system-login.py
@@ -311,9 +311,6 @@ def apply(login):
except Exception as e:
raise ConfigError(f'RADIUS configuration failed: {e}')
- # sync user data files to disk
- os.sync()
-
return None
diff --git a/src/etc/commit/post-hooks.d/00vyos-sync b/src/etc/commit/post-hooks.d/00vyos-sync
new file mode 100755
index 000000000..e3bde3abb
--- /dev/null
+++ b/src/etc/commit/post-hooks.d/00vyos-sync
@@ -0,0 +1,7 @@
+#!/bin/sh
+# When power is lost right after a commit modified files, the
+# system can be corrupted and e.g. login is no longer possible.
+# Always sync files to the backend storage after a commit.
+# https://phabricator.vyos.net/T4975
+sync
+