[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 5/5] block/vpc: remove disabled code from get_sec
From: |
Peter Lieven |
Subject: |
[Qemu-devel] [PATCH v2 5/5] block/vpc: remove disabled code from get_sector_offset |
Date: |
Tue, 3 Mar 2015 11:41:56 +0100 |
The code to check the bitmap for the allocation status of each sector
has been "disabled by reason" ever since the vpc driver existed.
The reason might be that we might end up reading sector by sector
in vpc_read if we really used it. This would be a performance desaster.
The current code would furthermore not work if the disabled parts get
reactivated since vpc_read and vpc_write only use get_sector_offset to
check the allocation status of the first sector of a read/write operation.
This might lead to sectors incorrectly treated as zero in vpc_read and
to sectors getting allocated twice in vpc_write.
Signed-off-by: Peter Lieven <address@hidden>
---
block/vpc.c | 32 --------------------------------
1 file changed, 32 deletions(-)
diff --git a/block/vpc.c b/block/vpc.c
index 226be02..43e768e 100644
--- a/block/vpc.c
+++ b/block/vpc.c
@@ -376,38 +376,6 @@ static inline int64_t get_sector_offset(BlockDriverState
*bs,
bdrv_pwrite_sync(bs->file, bitmap_offset, bitmap, s->bitmap_size);
}
-// printf("sector: %" PRIx64 ", index: %x, offset: %x, bioff: %" PRIx64 ",
bloff: %" PRIx64 "\n",
-// sector_num, pagetable_index, pageentry_index,
-// bitmap_offset, block_offset);
-
-// disabled by reason
-#if 0
-#ifdef CACHE
- if (bitmap_offset != s->last_bitmap)
- {
- lseek(s->fd, bitmap_offset, SEEK_SET);
-
- s->last_bitmap = bitmap_offset;
-
- // Scary! Bitmap is stored as big endian 32bit entries,
- // while we used to look it up byte by byte
- read(s->fd, s->pageentry_u8, 512);
- for (i = 0; i < 128; i++)
- be32_to_cpus(&s->pageentry_u32[i]);
- }
-
- if ((s->pageentry_u8[pageentry_index / 8] >> (pageentry_index % 8)) & 1)
- return -1;
-#else
- lseek(s->fd, bitmap_offset + (pageentry_index / 8), SEEK_SET);
-
- read(s->fd, &bitmap_entry, 1);
-
- if ((bitmap_entry >> (pageentry_index % 8)) & 1)
- return -1; // not allocated
-#endif
-#endif
-
return block_offset;
}
--
1.9.1
- [Qemu-devel] [PATCH v2 0/5] block/vpc optimizations, Peter Lieven, 2015/03/03
- [Qemu-devel] [PATCH v2 4/5] block/vpc: rename footer->size -> footer->current_size, Peter Lieven, 2015/03/03
- [Qemu-devel] [PATCH v2 3/5] block/vpc: make calculate_geometry spec conform, Peter Lieven, 2015/03/03
- [Qemu-devel] [PATCH v2 1/5] block/vpc: optimize vpc_co_get_block_status, Peter Lieven, 2015/03/03
- [Qemu-devel] [PATCH v2 2/5] vpc: Ignore geometry for large images, Peter Lieven, 2015/03/03
- [Qemu-devel] [PATCH v2 5/5] block/vpc: remove disabled code from get_sector_offset,
Peter Lieven <=
- Re: [Qemu-devel] [PATCH v2 0/5] block/vpc optimizations, Max Reitz, 2015/03/03