From eb25a2aa740e7207159be7c22d64db9b1fc34d29 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 30 Jun 2023 13:04:26 +0200 Subject: [PATCH] mxraid, mxmount: Start before basic.target There is a race when other services want to use local amd paths. All services order behind basic.target per default, so move mxraid and mxmount before it. Also make mxraid.startup.service and mxraid.shutdown.service into one but temporarily keep mxraid.shutdown.service for running systems. --- install.sh | 2 +- mxmount/mxmount.service | 3 ++- mxraid/mxraid.service | 16 ++++++++++++++++ mxraid/mxraid.startup.service | 7 ------- 4 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 mxraid/mxraid.service delete mode 100644 mxraid/mxraid.startup.service diff --git a/install.sh b/install.sh index f9935c7..0f28ecd 100755 --- a/install.sh +++ b/install.sh @@ -145,7 +145,7 @@ install_exec pkgadmin/pkgadmin "$DESTDIR$usr_sbindir/p install_cron pkgadmin/crond-pkgadmin-update "$DESTDIR$crond_dir/pkgadmin-update" install_exec mxraid/mxraid "$DESTDIR$usr_sbindir/mxraid" install_exec mxraid/mxraid_assemble "$DESTDIR$usr_sbindir/mxraid_assemble" -install_data mxraid/mxraid.startup.service "$DESTDIR$systemdunitdir/mxraid.startup.service" +install_data mxraid/mxraid.service "$DESTDIR$systemdunitdir/mxraid.service" install_data mxraid/mxraid.shutdown.service "$DESTDIR$systemdunitdir/mxraid.shutdown.service" install_exec mxraid/mdcheck.safe "$DESTDIR$usr_bindir/mdcheck.safe" install_cron mxraid/crond-mdcheck "$DESTDIR$crond_dir/mdcheck" diff --git a/mxmount/mxmount.service b/mxmount/mxmount.service index e9fa10b..f002e13 100644 --- a/mxmount/mxmount.service +++ b/mxmount/mxmount.service @@ -1,6 +1,7 @@ [Unit] -After=mxraid.startup.service +DefaultDependencies=no ConditionPathExists=/etc/mxmounts +Before=local-fs.target [Service] Type=oneshot diff --git a/mxraid/mxraid.service b/mxraid/mxraid.service new file mode 100644 index 0000000..5782c29 --- /dev/null +++ b/mxraid/mxraid.service @@ -0,0 +1,16 @@ +[Unit] +DefaultDependencies=no +After=udev-settled.target +Wants=udev-settled.target +Before=mxmount.service +Conflicts=shutdown.target +Before=shutdown.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/sbin/mxraid start +ExecStop=/usr/sbin/mxraid stop + +[Install] +WantedBy=local-fs.target diff --git a/mxraid/mxraid.startup.service b/mxraid/mxraid.startup.service deleted file mode 100644 index 5971bc0..0000000 --- a/mxraid/mxraid.startup.service +++ /dev/null @@ -1,7 +0,0 @@ -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/usr/sbin/mxraid start - -[Install] -WantedBy=local-fs.target