[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Fix 32-bit sector number overflow in blktap userspace
While the kernel side of blktap drivers is using 64-bit sector numbers correctly when reporting disk sizing, the userspace parts where this dat is actually generated is truncating at 32-bit. There are 3 variables related to disk sizing which are used in the kernel/userspace code 'size', 'sector size' & 'info'. In kernel space these are treated as being unsigned long long, unsigned long, and unsigned int, respectively. In the blktap userspace code this were all varyingly long, unsigned long. This mismatch caused 32-bit wraparound on large disks. The attached patch updates the blktap userspace to use the same data types as kernel space for all these params, thus both fixing the 32-bit bug & giving the code consistency. This patch has been tested both by comparing /proc/partitions in the guest, with the image size seen in the host, and by using Stephen Tweedie's 'verify-data' tool on a variety of multi-TB sized disks. Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> (Reposted from http://lists.xensource.com/archives/html/xen-devel/2006-11/msg01131.html) Regards, Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=| Attachment:
blktap-2tb-2.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |