On Tue, Aug 23, 2011 at 12:49:41PM +0300, David Cohen wrote:
Hi,
The xml file used to create the pool :
<pool type='disk'>
<name>guest_images_disk</name>
<source>
<device path='/dev/sdb'/>
<format type='gpt'/>
</source>
<target>
<path>/dev</path>
</target>
</pool>
Ok, it is a disk partition based pool. It appears that our parted
code is assuming 512 byte sectors as you thought. I reckon that
this change should fix it
diff --git a/src/storage/parthelper.c b/src/storage/parthelper.c
index acc9171..964aa78 100644
--- a/src/storage/parthelper.c
+++ b/src/storage/parthelper.c
@@ -157,17 +157,17 @@ int main(int argc, char **argv)
part->num, '\0',
type, '\0',
content, '\0',
- part->geom.start * 512llu, '\0',
- (part->geom.end + 1 ) * 512llu, '\0',
- part->geom.length * 512llu, '\0');
+ part->geom.start * dev->sector_size, '\0',
+ (part->geom.end + 1 ) * dev->sector_size, '\0',
+ part->geom.length * dev->sector_size, '\0');
} else {
printf("%s%c%s%c%s%c%llu%c%llu%c%llu%c",
"-", '\0',
type, '\0',
content, '\0',
- part->geom.start * 512llu, '\0',
- (part->geom.end + 1 ) * 512llu, '\0',
- part->geom.length * 512llu, '\0');
+ part->geom.start * dev->sector_size, '\0',
+ (part->geom.end + 1 ) * dev->sector_size, '\0',
+ part->geom.length * dev->sector_size, '\0');
}
part = ped_disk_next_partition(disk, part);
}
but I don't have any way to test this myself
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|