forked from pool/mdadm
2e35d7583b
- Update for latest mdadm-4.1+ patches, this is required by jsc#SLE-10078 and jsc#SLE-9348. Mostly the purpose is for latest Intel IMSM raid support. The following patches also include previous patches with new re-ordered prefix numbers. - Makefile: install mdadm_env.sh to /usr/lib/mdadm (bsc#1111960) 0000-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch - Assemble: keep MD_DISK_FAILFAST and MD_DISK_WRITEMOSTLY flag (jsc#SLE-10078, jsc#SLE-9348) 0001-Assemble-keep-MD_DISK_FAILFAST-and-MD_DISK_WRITEMOST.patch - Document PART-POLICY lines (jsc#SLE-10078, jsc#SLE-9348) 0002-Document-PART-POLICY-lines.patc - policy: support devices with multiple paths. (jsc#SLE-10078, jsc#SLE-9348) 0003-policy-support-devices-with-multiple-paths.patch - mdcheck: add systemd unit files to run mdcheck. (bsc#1115407) 0004-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch - Monitor: add system timer to run --oneshot periodically (bsc#1115407) 0005-Monitor-add-system-timer-to-run-oneshot-periodically.patch - imsm: update metadata correctly while raid10 double (jsc#SLE-10078, jsc#SLE-9348) 0006-imsm-update-metadata-correctly-while-raid10-double-d.patch - Assemble: mask FAILFAST and WRITEMOSTLY flags when finding (jsc#SLE-10078, jsc#SLE-9348) 0007-Assemble-mask-FAILFAST-and-WRITEMOSTLY-flags-when-fi.patch - Grow: avoid overflow in compute_backup_blocks() (jsc#SLE-10078, jsc#SLE-9348) 0008-Grow-avoid-overflow-in-compute_backup_blocks.patch - Grow: report correct new chunk size. (jsc#SLE-10078, jsc#SLE-9348) 0009-Grow-report-correct-new-chunk-size.patch OBS-URL: https://build.opensuse.org/request/show/781064 OBS-URL: https://build.opensuse.org/package/show/Base:System/mdadm?expand=0&rev=181
141 lines
4.8 KiB
Diff
141 lines
4.8 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.
|
|
Git-commit: 4199d3c629c14866505923d19fa50017ee92d2e1
|
|
Patch-mainline: mdadm-4.1+
|
|
References: bsc#1115407
|
|
|
|
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
|
|
|