[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/6] vvfat: do not fail if the disk has spare sector
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 2/6] vvfat: do not fail if the disk has spare sectors |
Date: |
Wed, 5 Oct 2011 09:12:04 +0200 |
If the number of "faked sectors" + the number of sectors that are
part of a cluster does not sum up to the total number of sectors,
qemu-img convert fails. Read these spare sectors as all zeros.
Signed-off-by: Paolo Bonzini <address@hidden>
---
block/vvfat.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/block/vvfat.c b/block/vvfat.c
index cee3971..bc2dd4c 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -1294,7 +1294,7 @@ static int vvfat_read(BlockDriverState *bs, int64_t
sector_num,
int i;
for(i=0;i<nb_sectors;i++,sector_num++) {
- if (sector_num >= s->sector_count)
+ if (sector_num >= bs->total_sectors)
return -1;
if (s->qcow) {
int n;
@@ -1320,7 +1320,7 @@ DLOG(fprintf(stderr, "sector %d not allocated\n",
(int)sector_num));
uint32_t sector=sector_num-s->faked_sectors,
sector_offset_in_cluster=(sector%s->sectors_per_cluster),
cluster_num=sector/s->sectors_per_cluster;
- if(read_cluster(s, cluster_num) != 0) {
+ if(cluster_num > s->cluster_count || read_cluster(s, cluster_num)
!= 0) {
/* LATER TODO: strict: return -1; */
memset(buf+i*0x200,0,0x200);
continue;
--
1.7.6
- [Qemu-devel] [PATCH 0/6] misc vvfat fixes, Paolo Bonzini, 2011/10/05
- [Qemu-devel] [PATCH 2/6] vvfat: do not fail if the disk has spare sectors,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 1/6] vvfat: fix out of bounds array_get usage, Paolo Bonzini, 2011/10/05
- [Qemu-devel] [PATCH 3/6] vvfat: need to use first_sectors_number to distinguish fdd/hdd, Paolo Bonzini, 2011/10/05
- [Qemu-devel] [PATCH 5/6] vvfat: do not hardcode sector counts in error message, Paolo Bonzini, 2011/10/05
- [Qemu-devel] [PATCH 6/6] vvfat: reorganize computation of disk geometry, Paolo Bonzini, 2011/10/05
- [Qemu-devel] [PATCH 4/6] vvfat: unify and correct computation of sector count, Paolo Bonzini, 2011/10/05
- [Qemu-devel] ping Re: [PATCH 0/6] misc vvfat fixes, Paolo Bonzini, 2011/10/27