Gentoo Archives: gentoo-commits

From: "Robin H. Johnson (robbat2)" <robbat2@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-fs/multipath-tools/files: multipath-tools-0.4.8-kparted-ext-partitions.patch
Date: Thu, 05 Nov 2009 04:15:13
Message-Id: E1N5tkd-0006IB-9A@stork.gentoo.org
1 robbat2 09/11/05 04:15:11
2
3 Added: multipath-tools-0.4.8-kparted-ext-partitions.patch
4 Log:
5 Bug #268961: kpartx fails on extended partitions, referencing the wrong parent device and offset.
6 (Portage version: 2.2_rc48/cvs/Linux x86_64)
7
8 Revision Changes Path
9 1.1 sys-fs/multipath-tools/files/multipath-tools-0.4.8-kparted-ext-partitions.patch
10
11 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-fs/multipath-tools/files/multipath-tools-0.4.8-kparted-ext-partitions.patch?rev=1.1&view=markup
12 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-fs/multipath-tools/files/multipath-tools-0.4.8-kparted-ext-partitions.patch?rev=1.1&content-type=text/plain
13
14 Index: multipath-tools-0.4.8-kparted-ext-partitions.patch
15 ===================================================================
16 From c421c9282791696264d1333fb2552835140354c3 Mon Sep 17 00:00:00 2001
17 From: Robin H. Johnson <robbat2@g.o>
18 Date: Thu, 5 Nov 2009 03:44:12 +0000
19 Subject: [PATCH] kpartx: Fix broken calculation of extended partitions that caused random devices to be used instead of the correct parent device.
20
21 Signed-off-by: Robin H. Johnson <robbat2@g.o>
22 ---
23 kpartx/dos.c | 4 +++-
24 1 files changed, 3 insertions(+), 1 deletions(-)
25
26 diff --git a/kpartx/dos.c b/kpartx/dos.c
27 index 1691105..317fc56 100644
28 --- a/kpartx/dos.c
29 +++ b/kpartx/dos.c
30 @@ -53,7 +53,9 @@ read_extended_partition(int fd, struct partition *ep, int en,
31 if (n < ns) {
32 sp[n].start = here + le32_to_cpu(p.start_sect);
33 sp[n].size = le32_to_cpu(p.nr_sects);
34 - sp[n].container = en + 1;
35 + // This line seems to have no understandable
36 + // purpose, and causes the wrong device to be used
37 + //sp[n].container = en + 1;
38 n++;
39 } else {
40 fprintf(stderr,
41 --
42 1.6.4