This commit is contained in:
parent
bd206bd903
commit
3afdc4f0aa
43
manage-rebuild-map-for-kpartx
Normal file
43
manage-rebuild-map-for-kpartx
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
Manage: rebuild map for 'kpartx -d' at stop
|
||||||
|
|
||||||
|
From: Dan Williams <dan.j.williams@intel.com>
|
||||||
|
|
||||||
|
mdadm needs the 'map' file to run 'kpartx -d' at array shutdown.
|
||||||
|
Rebuild it if it does not exist.
|
||||||
|
|
||||||
|
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
Manage.c | 14 +++++++++++++-
|
||||||
|
1 files changed, 13 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/Manage.c b/Manage.c
|
||||||
|
index 85bb2c8..603e838 100644
|
||||||
|
--- a/Manage.c
|
||||||
|
+++ b/Manage.c
|
||||||
|
@@ -222,11 +222,23 @@ int Manage_runstop(char *devname, int fd, int runstop, int quiet)
|
||||||
|
mdi->array.level > 0 &&
|
||||||
|
is_subarray(mdi->text_version)) {
|
||||||
|
struct map_ent *me = map_by_devnum(&map, devnum);
|
||||||
|
+
|
||||||
|
+ if (!me) {
|
||||||
|
+ RebuildMap();
|
||||||
|
+ me = map_by_devnum(&map, devnum);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!me) {
|
||||||
|
+ fprintf(stderr, Name ": failed to map device %d\n",
|
||||||
|
+ devnum);
|
||||||
|
+ return 1;
|
||||||
|
+ } else
|
||||||
|
+ run_kpartx('d', me->path);
|
||||||
|
+
|
||||||
|
/* This is mdmon managed. */
|
||||||
|
close(fd);
|
||||||
|
|
||||||
|
/* Delete any kpartx partitions */
|
||||||
|
- run_kpartx('d', me->path);
|
||||||
|
if (sysfs_set_str(mdi, NULL,
|
||||||
|
"array_state", "inactive") < 0) {
|
||||||
|
if (quiet == 0)
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 16 16:00:11 CET 2009 - mmarek@suse.cz
|
||||||
|
|
||||||
|
- fix segfault when stopping imsm arrays
|
||||||
|
(bnc#473947, patch by Dan Williams)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jan 26 11:47:59 CET 2009 - ro@suse.de
|
Mon Jan 26 11:47:59 CET 2009 - ro@suse.de
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
Name: mdadm
|
Name: mdadm
|
||||||
Version: 3.0
|
Version: 3.0
|
||||||
Release: 13
|
Release: 14
|
||||||
%define ver 3.0-devel2
|
%define ver 3.0-devel2
|
||||||
BuildRequires: sgmltool
|
BuildRequires: sgmltool
|
||||||
PreReq: %fillup_prereq %insserv_prereq
|
PreReq: %fillup_prereq %insserv_prereq
|
||||||
@ -42,6 +42,7 @@ Patch7: intel.fixes.patch
|
|||||||
Patch8: name.fixes.patch
|
Patch8: name.fixes.patch
|
||||||
Patch9: mdmon-pass-symbolic-name-to-mdmon-instead-of-device.patch
|
Patch9: mdmon-pass-symbolic-name-to-mdmon-instead-of-device.patch
|
||||||
Patch10: don-t-auto-assemble-if-any-arrays-are-list.patch
|
Patch10: don-t-auto-assemble-if-any-arrays-are-list.patch
|
||||||
|
Patch11: manage-rebuild-map-for-kpartx
|
||||||
Source1: Software-RAID.HOWTO.tar.bz2
|
Source1: Software-RAID.HOWTO.tar.bz2
|
||||||
Source2: sysconfig.mdadm
|
Source2: sysconfig.mdadm
|
||||||
Source3: mdadmd
|
Source3: mdadmd
|
||||||
@ -72,6 +73,7 @@ Authors:
|
|||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
|
%patch11 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%{suse_update_config -f}
|
%{suse_update_config -f}
|
||||||
@ -160,6 +162,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
/lib/mkinitrd/scripts/boot-md.sh
|
/lib/mkinitrd/scripts/boot-md.sh
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Feb 16 2009 mmarek@suse.cz
|
||||||
|
- fix segfault when stopping imsm arrays
|
||||||
|
(bnc#473947, patch by Dan Williams)
|
||||||
* Mon Jan 26 2009 ro@suse.de
|
* Mon Jan 26 2009 ro@suse.de
|
||||||
- change fillup call from "-Y" to "-y" the boot script has
|
- change fillup call from "-Y" to "-y" the boot script has
|
||||||
been present in this package for long enough (SLES10-GA)
|
been present in this package for long enough (SLES10-GA)
|
||||||
|
Loading…
Reference in New Issue
Block a user