[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 17/17] block/vpc: remove disabled code from get_secto
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PULL 17/17] block/vpc: remove disabled code from get_sector_offset |
Date: |
Mon, 16 Mar 2015 17:57:21 +0100 |
From: Peter Lieven <address@hidden>
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>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Max Reitz <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.8.3.1
- [Qemu-devel] [PULL 05/17] qemu-img: Avoid qerror_report_err() outside QMP handlers, again, (continued)
- [Qemu-devel] [PULL 05/17] qemu-img: Avoid qerror_report_err() outside QMP handlers, again, Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 10/17] migration: Convert bdrv_find to blk_by_name, Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 06/17] qcow2: Respect new_block in alloc_refcount_block(), Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 09/17] monitor: Convert bdrv_find to blk_by_name, Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 14/17] vpc: Ignore geometry for large images, Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 16/17] block/vpc: rename footer->size -> footer->current_size, Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 07/17] iotests: Add tests for refcount table growth, Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 13/17] block/vpc: optimize vpc_co_get_block_status, Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 12/17] block: Drop bdrv_find, Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 08/17] iotests: Test non-self-referential qcow2 refblocks, Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 17/17] block/vpc: remove disabled code from get_sector_offset,
Kevin Wolf <=
- [Qemu-devel] [PULL 11/17] blockdev: Convert bdrv_find to blk_by_name, Kevin Wolf, 2015/03/16
- [Qemu-devel] [PULL 15/17] block/vpc: make calculate_geometry spec conform, Kevin Wolf, 2015/03/16
- Re: [Qemu-devel] [PULL 00/17] Block patches for 2.3.0-rc0, Peter Maydell, 2015/03/17