From 9f14be6eedb0d8a3293fff514a5bfb75548a94ed Mon Sep 17 00:00:00 2001 From: Marek Marczykowski Date: Thu, 15 Sep 2011 14:43:02 +0200 Subject: [PATCH] dom0: sync dom0 clock more frequent; start it from init.d script --- dom0/aux-tools/keep-dom0-clock-synced | 14 ++++++++------ dom0/init.d/qubes_core | 2 ++ dom0/qubes-clock-watch.desktop | 7 ------- rpm_spec/core-dom0.spec | 2 -- 4 files changed, 10 insertions(+), 15 deletions(-) delete mode 100644 dom0/qubes-clock-watch.desktop diff --git a/dom0/aux-tools/keep-dom0-clock-synced b/dom0/aux-tools/keep-dom0-clock-synced index 4d155071..97e13271 100755 --- a/dom0/aux-tools/keep-dom0-clock-synced +++ b/dom0/aux-tools/keep-dom0-clock-synced @@ -1,7 +1,7 @@ #!/bin/sh -# 6h -UPDATES_SLEEP=21600 +# 15m +UPDATES_SLEEP=900 UPDATES_VM=`qvm-get-updatevm` QREXEC_CLIENT=/usr/lib/qubes/qrexec_client @@ -11,10 +11,12 @@ if [ -z "$UPDATES_VM" ]; then exit 1 fi -if ! xl domid "$UPDATES_VM" > /dev/null 2>&1; then - echo "UpdateVM not started, exiting!" - exit 1 -fi +echo "Waiting for UpdateVM to be started" +# Intentionally used xl domid here to check if domain is running (in case of +# eg. stale qrexec socket) +while ! [ -f /var/run/qubes/qrexec.`xl domid "$UPDATES_VM" 2>/dev/null` ]; do + sleep 1 +done ( # Allow only one instance diff --git a/dom0/init.d/qubes_core b/dom0/init.d/qubes_core index 419650f0..fd317d62 100755 --- a/dom0/init.d/qubes_core +++ b/dom0/init.d/qubes_core @@ -50,6 +50,8 @@ start() MEMINFO_DELAY_USEC=100000 /usr/lib/qubes/meminfo-writer $MEM_CHANGE_THRESHOLD_KB $MEMINFO_DELAY_USEC & + /usr/lib/qubes/keep-dom0-clock-synced > /var/log/qubes/dom0-clock-sync.log 2>&1 & + touch /var/lock/subsys/qubes_core success echo diff --git a/dom0/qubes-clock-watch.desktop b/dom0/qubes-clock-watch.desktop deleted file mode 100644 index 91916a80..00000000 --- a/dom0/qubes-clock-watch.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Name=Qubes Dom0 clock watch -Comment=Keeps dom0 clock synced with UpdateVM -Icon=qubes -Exec=/usr/lib/qubes/keep-dom0-clock-synced -Terminal=false -Type=Application diff --git a/rpm_spec/core-dom0.spec b/rpm_spec/core-dom0.spec index 74c3b6e8..8b8a5dc1 100644 --- a/rpm_spec/core-dom0.spec +++ b/rpm_spec/core-dom0.spec @@ -167,7 +167,6 @@ install -m 0440 qubes.sudoers $RPM_BUILD_ROOT/etc/sudoers.d/qubes install -d $RPM_BUILD_ROOT/etc/xdg/autostart install -m 0644 qubes-guid.desktop $RPM_BUILD_ROOT/etc/xdg/autostart/ -install -m 0644 qubes-clock-watch.desktop $RPM_BUILD_ROOT/etc/xdg/autostart/ mkdir -p $RPM_BUILD_ROOT/etc/dracut.conf.d cp dracut/dracut.conf.d/* $RPM_BUILD_ROOT/etc/dracut.conf.d/ @@ -358,7 +357,6 @@ fi /etc/yum.real.repos.d/qubes-cached.repo /etc/sudoers.d/qubes /etc/xdg/autostart/qubes-guid.desktop -/etc/xdg/autostart/qubes-clock-watch.desktop /etc/security/limits.d/99-qubes.conf %dir /etc/dracut.conf.d/* %dir /usr/share/dracut/modules.d/