[libvirt] [PATCH] Fix parted sector size assumption

Daniel Veillard veillard at redhat.com
Wed Aug 31 12:14:45 UTC 2011


On Wed, Aug 31, 2011 at 11:04:04AM +0100, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
> 
> Parted does not report disk size in 512 byte units, but
> rather the disks' logical sector size, which with modern
> drives might be 4k.
> 
> * src/storage/parthelper.c: Remove hardcoded 512 byte sector
>   size
> ---
>  src/storage/parthelper.c |   12 ++++++------
>  1 files changed, 6 insertions(+), 6 deletions(-)
> 
> 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);
>      }

  ACK,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list