forked from pool/mdadm
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
|
Thu Nov 23 13:40:30 UTC 2017 - rbrown@suse.com
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package mdadm
|
# 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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
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
|
Patch58: 0058-super1-only-set-clustered-flag-when-bitmap-is-presen.patch
|
||||||
Patch59: 0059-To-support-clustered-raid10.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
|
Patch1000: 1000-The-mdcheck-script-now-adds-messages-to-the-system.patch
|
||||||
|
|
||||||
%define _udevdir %(pkg-config --variable=udevdir udev)
|
%define _udevdir %(pkg-config --variable=udevdir udev)
|
||||||
@ -174,6 +175,7 @@ programs but with a very different interface.
|
|||||||
%patch57 -p1
|
%patch57 -p1
|
||||||
%patch58 -p1
|
%patch58 -p1
|
||||||
%patch59 -p1
|
%patch59 -p1
|
||||||
|
%patch60 -p1
|
||||||
%patch1000 -p1
|
%patch1000 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -229,6 +231,7 @@ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcmdmonitor
|
|||||||
%{_fillupdir}/sysconfig.mdadm
|
%{_fillupdir}/sysconfig.mdadm
|
||||||
%{_udevdir}/rules.d/63-md-raid-arrays.rules
|
%{_udevdir}/rules.d/63-md-raid-arrays.rules
|
||||||
%{_udevdir}/rules.d/64-md-raid-assembly.rules
|
%{_udevdir}/rules.d/64-md-raid-assembly.rules
|
||||||
|
%{_udevdir}/rules.d/69-md-clustered-confirm-device.rules
|
||||||
%dir /etc/cron.daily
|
%dir /etc/cron.daily
|
||||||
/etc/cron.daily/mdadm
|
/etc/cron.daily/mdadm
|
||||||
%dir /etc/cron.d
|
%dir /etc/cron.d
|
||||||
|
Loading…
x
Reference in New Issue
Block a user