summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Broz <mbroz@fedoraproject.org>2009-03-22 15:55:37 +0000
committerMilan Broz <mbroz@fedoraproject.org>2009-03-22 15:55:37 +0000
commitd8a28bb428720f20d827dfd9b3380686ad3a277d (patch)
tree84ec4d74fdfb53d206590891ede673d61b7dec4d
parent89195a4323fc850f4aa11bf0cf6e2848cbcb0dd3 (diff)
downloaddevice-mapper-multipath-d8a28bb428720f20d827dfd9b3380686ad3a277d.tar.gz
device-mapper-multipath-d8a28bb428720f20d827dfd9b3380686ad3a277d.tar.xz
device-mapper-multipath-d8a28bb428720f20d827dfd9b3380686ad3a277d.zip
Fix kpartx extended partition handling (481297)device-mapper-multipath-0_4_8-8_fc10
-rw-r--r--device-mapper-multipath.spec7
-rw-r--r--fix_kpartx.patch32
2 files changed, 38 insertions, 1 deletions
diff --git a/device-mapper-multipath.spec b/device-mapper-multipath.spec
index 128615f..50643ef 100644
--- a/device-mapper-multipath.spec
+++ b/device-mapper-multipath.spec
@@ -1,7 +1,7 @@
Summary: Tools to manage multipath devices using device-mapper
Name: device-mapper-multipath
Version: 0.4.8
-Release: 7%{?dist}
+Release: 8%{?dist}
License: GPL+
Group: System Environment/Base
URL: http://christophe.varoqui.free.fr/
@@ -19,6 +19,7 @@ Patch9: config_space_fix.patch
Patch10: fix_devt.patch
Patch11: directio_message_cleanup.patch
Patch12: binding_error.patch
+Patch13: fix_kpartx.patch
Requires: kpartx = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires(post): chkconfig
@@ -58,6 +59,7 @@ kpartx manages partition creation and removal for device-mapper devices.
%patch10 -p1 -b .fix_devt
%patch11 -p1 -b .directio_message
%patch12 -p1 -b .binding_error
+%patch13 -p1 -b .ext_part
%build
make %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT
@@ -109,6 +111,9 @@ fi
%{_mandir}/man8/kpartx.8.gz
%changelog
+* Sun Mar 22 2009 Milan Broz <mbroz@redhat.com> - 0.4.8-8
+- Fix kpartx extended partition handling (481297)
+
* Fri Sep 26 2008 Benjamin Marzinski <bmarzins@redhat.com> 0.4.8-7
- Since libaio is now in /lib, not /usr/lib, multipath no longer needs to
statically link against it. Fixed an error with binding file and WWIDs
diff --git a/fix_kpartx.patch b/fix_kpartx.patch
new file mode 100644
index 0000000..8d12bc3
--- /dev/null
+++ b/fix_kpartx.patch
@@ -0,0 +1,32 @@
+--- multipath-tools.old/kpartx/kpartx.c 2008-07-23 22:49:52.000000000 +0200
++++ multipath-tools/kpartx/kpartx.c 2009-03-06 13:32:49.000000000 +0100
+@@ -474,6 +474,7 @@ main(int argc, char **argv){
+ d = c;
+ while (c) {
+ for (j = 0; j < n; j++) {
++ uint64_t start;
+ int k = slices[j].container - 1;
+
+ if (slices[j].size == 0)
+@@ -484,7 +485,7 @@ main(int argc, char **argv){
+ continue;
+
+ /* Skip all simple slices */
+- if (k < 0)
++ if (slices[j].container == 0)
+ continue;
+
+ /* Check container slice */
+@@ -499,10 +500,11 @@ main(int argc, char **argv){
+ }
+ strip_slash(partname);
+
++ start = slices[j].start - slices[k].start;
+ if (safe_sprintf(params, "%d:%d %" PRIu64,
+ slices[k].major,
+ slices[k].minor,
+- slices[j].start)) {
++ start)) {
+ fprintf(stderr, "params too small\n");
+ exit(1);
+ }