mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-28 11:43:25 +02:00
mdadm: Update to 3.3.1.
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
etc/rc.d/rc0.d/S85mdadm
|
etc/rc.d/rc0.d/S85mdadm
|
||||||
etc/rc.d/rc6.d/S75mdadm
|
etc/rc.d/rc6.d/S75mdadm
|
||||||
etc/rc.d/rcsysinit.d/S11mdadm
|
etc/rc.d/rcsysinit.d/S11mdadm
|
||||||
lib/udev/rules.d/64-md-raid.rules
|
lib/udev/rules.d/63-md-raid-arrays.rules
|
||||||
|
lib/udev/rules.d/64-md-raid-assembly.rules
|
||||||
sbin/mdadm
|
sbin/mdadm
|
||||||
sbin/mdmon
|
sbin/mdmon
|
||||||
#usr/share/man/man4/md.4
|
#usr/share/man/man4/md.4
|
||||||
|
|||||||
@@ -24,10 +24,10 @@
|
|||||||
|
|
||||||
include Config
|
include Config
|
||||||
|
|
||||||
VER = 3.2.1
|
VER = 3.3.1
|
||||||
|
|
||||||
THISAPP = mdadm-$(VER)
|
THISAPP = mdadm-$(VER)
|
||||||
DL_FILE = $(THISAPP).tar.bz2
|
DL_FILE = $(THISAPP).tar.xz
|
||||||
DL_FROM = $(URL_IPFIRE)
|
DL_FROM = $(URL_IPFIRE)
|
||||||
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||||
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
|
|||||||
|
|
||||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||||
|
|
||||||
$(DL_FILE)_MD5 = d1e2549202bd79d9e99f1498d1109530
|
$(DL_FILE)_MD5 = 4227d48de62dfb217c92fa0c54171bbe
|
||||||
|
|
||||||
install : $(TARGET)
|
install : $(TARGET)
|
||||||
|
|
||||||
@@ -76,7 +76,8 @@ $(subst %,%_MD5,$(objects)) :
|
|||||||
|
|
||||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||||
@$(PREBUILD)
|
@$(PREBUILD)
|
||||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
|
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
|
||||||
|
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/mdadm-3.3.1-Assemble-Only-fail-auto-assemble-in-face-of-mdadm.co.patch
|
||||||
cd $(DIR_APP) && make $(MAKETUNING)
|
cd $(DIR_APP) && make $(MAKETUNING)
|
||||||
cd $(DIR_APP) && make install
|
cd $(DIR_APP) && make install
|
||||||
ln -sf ../init.d/mdadm /etc/rc.d/rcsysinit.d/S11mdadm
|
ln -sf ../init.d/mdadm /etc/rc.d/rcsysinit.d/S11mdadm
|
||||||
|
|||||||
@@ -0,0 +1,85 @@
|
|||||||
|
From 5141638c54535b4ac80b8481404d868a63a18ecd Mon Sep 17 00:00:00 2001
|
||||||
|
From: NeilBrown <neilb@suse.de>
|
||||||
|
Date: Tue, 29 Jul 2014 13:48:23 +1000
|
||||||
|
Subject: [PATCH] Assemble: Only fail auto-assemble in face of mdadm.conf
|
||||||
|
conflicts.
|
||||||
|
|
||||||
|
We should never auto-assemble things that conflict with mdadm.conf
|
||||||
|
However explicit assembly requests should be allowed.
|
||||||
|
|
||||||
|
Reported-by: olovopb
|
||||||
|
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1070245
|
||||||
|
Signed-off-by: NeilBrown <neilb@suse.de>
|
||||||
|
---
|
||||||
|
Assemble.c | 47 ++++++++++++++++++++++++++---------------------
|
||||||
|
1 file changed, 26 insertions(+), 21 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Assemble.c b/Assemble.c
|
||||||
|
index aca28be..cdcdb0f 100644
|
||||||
|
--- a/Assemble.c
|
||||||
|
+++ b/Assemble.c
|
||||||
|
@@ -366,9 +366,6 @@ static int select_devices(struct mddev_dev *devlist,
|
||||||
|
tmpdev = NULL;
|
||||||
|
goto loop;
|
||||||
|
} else {
|
||||||
|
- int rv = 0;
|
||||||
|
- struct mddev_ident *match;
|
||||||
|
-
|
||||||
|
content = *contentp;
|
||||||
|
tst->ss->getinfo_super(tst, content, NULL);
|
||||||
|
|
||||||
|
@@ -377,25 +374,33 @@ static int select_devices(struct mddev_dev *devlist,
|
||||||
|
report_mismatch ? devname : NULL))
|
||||||
|
goto loop;
|
||||||
|
|
||||||
|
- match = conf_match(tst, content, devname,
|
||||||
|
- report_mismatch ? c->verbose : -1,
|
||||||
|
- &rv);
|
||||||
|
- if (!match && rv == 2)
|
||||||
|
- goto loop;
|
||||||
|
- if (match && match->devname &&
|
||||||
|
- strcasecmp(match->devname, "<ignore>") == 0) {
|
||||||
|
- if (report_mismatch)
|
||||||
|
- pr_err("%s is a member of an explicitly ignored array\n",
|
||||||
|
- devname);
|
||||||
|
- goto loop;
|
||||||
|
- }
|
||||||
|
- if (match && !ident_matches(match, content, tst,
|
||||||
|
- c->homehost, c->update,
|
||||||
|
- report_mismatch ? devname : NULL))
|
||||||
|
- /* Array exists in mdadm.conf but some
|
||||||
|
- * details don't match, so reject it
|
||||||
|
+ if (auto_assem) {
|
||||||
|
+ /* Never auto-assemble things that conflict
|
||||||
|
+ * with mdadm.conf in some way
|
||||||
|
*/
|
||||||
|
- goto loop;
|
||||||
|
+ struct mddev_ident *match;
|
||||||
|
+ int rv = 0;
|
||||||
|
+
|
||||||
|
+ match = conf_match(tst, content, devname,
|
||||||
|
+ report_mismatch ? c->verbose : -1,
|
||||||
|
+ &rv);
|
||||||
|
+ if (!match && rv == 2)
|
||||||
|
+ goto loop;
|
||||||
|
+ if (match && match->devname &&
|
||||||
|
+ strcasecmp(match->devname, "<ignore>") == 0) {
|
||||||
|
+ if (report_mismatch)
|
||||||
|
+ pr_err("%s is a member of an explicitly ignored array\n",
|
||||||
|
+ devname);
|
||||||
|
+ goto loop;
|
||||||
|
+ }
|
||||||
|
+ if (match && !ident_matches(match, content, tst,
|
||||||
|
+ c->homehost, c->update,
|
||||||
|
+ report_mismatch ? devname : NULL))
|
||||||
|
+ /* Array exists in mdadm.conf but some
|
||||||
|
+ * details don't match, so reject it
|
||||||
|
+ */
|
||||||
|
+ goto loop;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* should be safe to try an exclusive open now, we
|
||||||
|
* have rejected anything that some other mdadm might
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
||||||
Reference in New Issue
Block a user