4545f26688
0002-policy-support-devices-with-multiple-paths.patch 0008-policy.c-prevent-NULL-pointer-referencing.patch (bsc#1106078) - 0003-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch 0004-Monitor-add-system-timer-to-run-oneshot-periodically.patch Remove mdadm.cron Remove crond.mdadm (bsc#1115407) - 0005-imsm-update-metadata-correctly-while-raid10-double-d.patch 0006-Grow-avoid-overflow-in-compute_backup_blocks.patch 0007-Grow-report-correct-new-chunk-size.patch Other useful upstream patches. OBS-URL: https://build.opensuse.org/package/show/Base:System/mdadm?expand=0&rev=168
138 lines
4.7 KiB
Diff
138 lines
4.7 KiB
Diff
From 4199d3c629c14866505923d19fa50017ee92d2e1 Mon Sep 17 00:00:00 2001
|
|
From: NeilBrown <neilb@suse.com>
|
|
Date: Wed, 5 Dec 2018 16:35:00 +1100
|
|
Subject: [PATCH 3/5] mdcheck: add systemd unit files to run mdcheck.
|
|
|
|
Having the mdcheck script is not use if is never run.
|
|
This patch adds systemd unit files so that it can easily
|
|
be run on the first Sunday of each month for 6 hours,
|
|
then on every subsequent morning until the check is
|
|
finished.
|
|
|
|
The units still need to be enabled with
|
|
systemctl enable mdcheck_start.timer
|
|
|
|
The timer will only actually be started when an array
|
|
which might need it becomes active.
|
|
|
|
Signed-off-by: NeilBrown <neilb@suse.com>
|
|
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
|
|
---
|
|
Makefile | 5 ++++-
|
|
systemd/mdcheck_continue.service | 18 ++++++++++++++++++
|
|
systemd/mdcheck_continue.timer | 13 +++++++++++++
|
|
systemd/mdcheck_start.service | 17 +++++++++++++++++
|
|
systemd/mdcheck_start.timer | 15 +++++++++++++++
|
|
5 files changed, 67 insertions(+), 1 deletion(-)
|
|
create mode 100644 systemd/mdcheck_continue.service
|
|
create mode 100644 systemd/mdcheck_continue.timer
|
|
create mode 100644 systemd/mdcheck_start.service
|
|
create mode 100644 systemd/mdcheck_start.timer
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index 2767ac68396d..afb62cc6e3a6 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -276,7 +276,10 @@ install-udev: udev-md-raid-arrays.rules udev-md-raid-assembly.rules udev-md-raid
|
|
|
|
install-systemd: systemd/mdmon@.service
|
|
@for file in mdmon@.service mdmonitor.service mdadm-last-resort@.timer \
|
|
- mdadm-last-resort@.service mdadm-grow-continue@.service; \
|
|
+ mdadm-last-resort@.service mdadm-grow-continue@.service \
|
|
+ mdcheck_start.timer mdcheck_start.service \
|
|
+ mdcheck_continue.timer mdcheck_continue.service \
|
|
+ ; \
|
|
do sed -e 's,BINDIR,$(BINDIR),g' systemd/$$file > .install.tmp.2 && \
|
|
$(ECHO) $(INSTALL) -D -m 644 systemd/$$file $(DESTDIR)$(SYSTEMD_DIR)/$$file ; \
|
|
$(INSTALL) -D -m 644 .install.tmp.2 $(DESTDIR)$(SYSTEMD_DIR)/$$file ; \
|
|
diff --git a/systemd/mdcheck_continue.service b/systemd/mdcheck_continue.service
|
|
new file mode 100644
|
|
index 000000000000..592c60798f82
|
|
--- /dev/null
|
|
+++ b/systemd/mdcheck_continue.service
|
|
@@ -0,0 +1,18 @@
|
|
+# This file is part of mdadm.
|
|
+#
|
|
+# mdadm is free software; you can redistribute it and/or modify it
|
|
+# under the terms of the GNU General Public License as published by
|
|
+# the Free Software Foundation; either version 2 of the License, or
|
|
+# (at your option) any later version.
|
|
+
|
|
+[Unit]
|
|
+Description=MD array scrubbing - continuation
|
|
+ConditionPathExistsGlob = /var/lib/mdcheck/MD_UUID_*
|
|
+
|
|
+[Service]
|
|
+Type=oneshot
|
|
+Environment= MDADM_CHECK_DURATION='"6 hours"'
|
|
+EnvironmentFile=-/run/sysconfig/mdadm
|
|
+ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
|
|
+ExecStart=/usr/share/mdadm/mdcheck --continue --duration $MDADM_CHECK_DURATION
|
|
+
|
|
diff --git a/systemd/mdcheck_continue.timer b/systemd/mdcheck_continue.timer
|
|
new file mode 100644
|
|
index 000000000000..3ccfd7858a3f
|
|
--- /dev/null
|
|
+++ b/systemd/mdcheck_continue.timer
|
|
@@ -0,0 +1,13 @@
|
|
+# This file is part of mdadm.
|
|
+#
|
|
+# mdadm is free software; you can redistribute it and/or modify it
|
|
+# under the terms of the GNU General Public License as published by
|
|
+# the Free Software Foundation; either version 2 of the License, or
|
|
+# (at your option) any later version.
|
|
+
|
|
+[Unit]
|
|
+Description=MD array scrubbing - continuation
|
|
+
|
|
+[Timer]
|
|
+OnCalendar= 1:05:00
|
|
+
|
|
diff --git a/systemd/mdcheck_start.service b/systemd/mdcheck_start.service
|
|
new file mode 100644
|
|
index 000000000000..812141bb5c9a
|
|
--- /dev/null
|
|
+++ b/systemd/mdcheck_start.service
|
|
@@ -0,0 +1,17 @@
|
|
+# This file is part of mdadm.
|
|
+#
|
|
+# mdadm is free software; you can redistribute it and/or modify it
|
|
+# under the terms of the GNU General Public License as published by
|
|
+# the Free Software Foundation; either version 2 of the License, or
|
|
+# (at your option) any later version.
|
|
+
|
|
+[Unit]
|
|
+Description=MD array scrubbing
|
|
+Wants=mdcheck_continue.timer
|
|
+
|
|
+[Service]
|
|
+Type=oneshot
|
|
+Environment= MDADM_CHECK_DURATION='"6 hours"'
|
|
+EnvironmentFile=-/run/sysconfig/mdadm
|
|
+ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
|
|
+ExecStart=/usr/share/mdadm/mdcheck --duration $MDADM_CHECK_DURATION
|
|
diff --git a/systemd/mdcheck_start.timer b/systemd/mdcheck_start.timer
|
|
new file mode 100644
|
|
index 000000000000..64807362d649
|
|
--- /dev/null
|
|
+++ b/systemd/mdcheck_start.timer
|
|
@@ -0,0 +1,15 @@
|
|
+# This file is part of mdadm.
|
|
+#
|
|
+# mdadm is free software; you can redistribute it and/or modify it
|
|
+# under the terms of the GNU General Public License as published by
|
|
+# the Free Software Foundation; either version 2 of the License, or
|
|
+# (at your option) any later version.
|
|
+
|
|
+[Unit]
|
|
+Description=MD array scrubbing
|
|
+
|
|
+[Timer]
|
|
+OnCalendar=Sun *-*-1..7 1:00:00
|
|
+
|
|
+[Install]
|
|
+WantedBy= mdmonitor.service
|
|
--
|
|
2.14.0.rc0.dirty
|
|
|