* [PATCH] multipath: fix offset for containted slices.
@ 2010-03-25 21:48 Benjamin Marzinski
0 siblings, 0 replies; only message in thread
From: Benjamin Marzinski @ 2010-03-25 21:48 UTC (permalink / raw)
To: device-mapper development
For contained slices, the offset of the new device should be from the start
of the containing device, which is what you are creating the new device on top
of. It should not be the offset from the start of the entire disk.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
---
:100644 100644 b61a81f... 103ed0a... M kpartx/kpartx.c
kpartx/kpartx.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
Index: multipath-tools-100322/kpartx/kpartx.c
===================================================================
--- multipath-tools-100322.orig/kpartx/kpartx.c
+++ multipath-tools-100322/kpartx/kpartx.c
@@ -488,6 +488,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)
@@ -498,7 +499,7 @@ main(int argc, char **argv){
continue;
/* Skip all simple slices */
- if (k < 0)
+ if (slices[j].container == 0)
continue;
/* Check container slice */
@@ -513,10 +514,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);
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-03-25 21:48 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-25 21:48 [PATCH] multipath: fix offset for containted slices Benjamin Marzinski
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.