Accepting request 545003 from home:gqjiang:branches:Base:System
For fate#316335: Add udev rules for cluster-md to confirm device OBS-URL: https://build.opensuse.org/request/show/545003 OBS-URL: https://build.opensuse.org/package/show/Base:System/mdadm?expand=0&rev=154
This commit is contained in:
parent
ee7d0fd7bc
commit
81b5777cbc
@ -0,0 +1,68 @@
|
||||
From 7a717ada3297bef83c1f70c6baa50ea15ed10fd1 Mon Sep 17 00:00:00 2001
|
||||
From: Guoqing Jiang <gqjiang@suse.com>
|
||||
Date: Wed, 22 Nov 2017 12:59:15 +0800
|
||||
Subject: [PATCH] udev rules: introduce rules for cluster-md to confirm device
|
||||
|
||||
For cluster scenario, add device is different with native raid.
|
||||
When a node issues adds a device, then the node will broadcast
|
||||
a message with UUID to other nodes in the cluster. If receiving
|
||||
node can find the device with the specific UUID, it must confirm
|
||||
the device, otherwise reports it is missing.
|
||||
|
||||
[gqjiang: changed a little bit since difference context in Makefile]
|
||||
|
||||
Signed-off-by: Guoqing Jiang <gqjiang@suse.com>
|
||||
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
|
||||
---
|
||||
Makefile | 6 ++++--
|
||||
udev-md-clustered-confirm-device.rules | 21 +++++++++++++++++++++
|
||||
2 files changed, 25 insertions(+), 2 deletions(-)
|
||||
create mode 100644 udev-md-clustered-confirm-device.rules
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 5fd7f166e7e1..70df31267982 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -291,8 +291,10 @@ install-man: mdadm.8 md.4 mdadm.conf.5 mdmon.8
|
||||
$(INSTALL) -D -m 644 md.4 $(DESTDIR)$(MAN4DIR)/md.4
|
||||
$(INSTALL) -D -m 644 mdadm.conf.5 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5
|
||||
|
||||
-install-udev: udev-md-raid-arrays.rules udev-md-raid-assembly.rules
|
||||
- @for file in 63-md-raid-arrays.rules 64-md-raid-assembly.rules ; \
|
||||
+install-udev: udev-md-raid-arrays.rules udev-md-raid-assembly.rules \
|
||||
+ udev-md-clustered-confirm-device.rules
|
||||
+ @for file in 63-md-raid-arrays.rules 64-md-raid-assembly.rules \
|
||||
+ 69-md-clustered-confirm-device.rules; \
|
||||
do sed -e 's,BINDIR,$(BINDIR),g' udev-$${file#??-} > .install.tmp.1 && \
|
||||
$(ECHO) $(INSTALL) -D -m 644 udev-$${file#??-} $(DESTDIR)$(UDEVDIR)/rules.d/$$file ; \
|
||||
$(INSTALL) -D -m 644 .install.tmp.1 $(DESTDIR)$(UDEVDIR)/rules.d/$$file ; \
|
||||
diff --git a/udev-md-clustered-confirm-device.rules b/udev-md-clustered-confirm-device.rules
|
||||
new file mode 100644
|
||||
index 000000000000..3e5381e19315
|
||||
--- /dev/null
|
||||
+++ b/udev-md-clustered-confirm-device.rules
|
||||
@@ -0,0 +1,21 @@
|
||||
+# do not edit this file, it will be overwritten on update
|
||||
+
|
||||
+SUBSYSTEM!="block", GOTO="clustermd_end"
|
||||
+
|
||||
+# handle md arrays
|
||||
+KERNEL!="md*", GOTO="clustermd_end"
|
||||
+ENV{DEVTYPE}!="disk", GOTO="clustermd_end"
|
||||
+ACTION!="change", GOTO="clustermd_end"
|
||||
+ENV{EVENT}!="ADD_DEVICE", GOTO="clustermd_end"
|
||||
+ENV{DEVICE_UUID}!="?*", GOTO="clustermd_end"
|
||||
+ENV{RAID_DISK}!="?*", GOTO="clustermd_end"
|
||||
+
|
||||
+# Based on the received UUID, node confirms the device if
|
||||
+# it is found by blkid, otherwise the node reports it is
|
||||
+# missing.
|
||||
+PROGRAM="BINDIR/blkid -o device -t UUID_SUB=$env{DEVICE_UUID}", ENV{.md.newdevice} = "$result"
|
||||
+
|
||||
+ENV{.md.newdevice}!="", RUN+="BINDIR/mdadm --manage $env{DEVNAME} --cluster-confirm $env{RAID_DISK}:$env{.md.newdevice}"
|
||||
+ENV{.md.newdevice}=="", RUN+="BINDIR/mdadm --manage $env{DEVNAME} --cluster-confirm $env{RAID_DISK}:missing"
|
||||
+
|
||||
+LABEL="clustermd_end"
|
||||
--
|
||||
2.10.0
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 24 01:26:09 UTC 2017 - gqjiang@suse.com
|
||||
|
||||
- Add udev rules for cluster-md to confirm device (fate#316335)
|
||||
0060-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 23 13:40:30 UTC 2017 - rbrown@suse.com
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package mdadm
|
||||
#
|
||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2017 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -103,6 +103,7 @@ Patch56: 0056-Add-sector-size-as-spare-selection-criterion.patch
|
||||
Patch57: 0057-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch
|
||||
Patch58: 0058-super1-only-set-clustered-flag-when-bitmap-is-presen.patch
|
||||
Patch59: 0059-To-support-clustered-raid10.patch
|
||||
Patch60: 0060-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch
|
||||
Patch1000: 1000-The-mdcheck-script-now-adds-messages-to-the-system.patch
|
||||
|
||||
%define _udevdir %(pkg-config --variable=udevdir udev)
|
||||
@ -174,6 +175,7 @@ programs but with a very different interface.
|
||||
%patch57 -p1
|
||||
%patch58 -p1
|
||||
%patch59 -p1
|
||||
%patch60 -p1
|
||||
%patch1000 -p1
|
||||
|
||||
%build
|
||||
@ -229,6 +231,7 @@ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcmdmonitor
|
||||
%{_fillupdir}/sysconfig.mdadm
|
||||
%{_udevdir}/rules.d/63-md-raid-arrays.rules
|
||||
%{_udevdir}/rules.d/64-md-raid-assembly.rules
|
||||
%{_udevdir}/rules.d/69-md-clustered-confirm-device.rules
|
||||
%dir /etc/cron.daily
|
||||
/etc/cron.daily/mdadm
|
||||
%dir /etc/cron.d
|
||||
|
Loading…
Reference in New Issue
Block a user