qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 17/17] block/vpc: remove disabled code from get_sector_offset
Date: Mon, 16 Mar 2015 17:57:21 +0100	[thread overview]
Message-ID: <1426525041-21926-18-git-send-email-kwolf@redhat.com> (raw)
In-Reply-To: <1426525041-21926-1-git-send-email-kwolf@redhat.com>

From: Peter Lieven <pl@kamp.de>

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 <pl@kamp.de>
Message-id: 1425379316-19639-6-git-send-email-pl@kamp.de
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 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

  parent reply	other threads:[~2015-03-16 16:58 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-16 16:57 [Qemu-devel] [PULL 00/17] Block patches for 2.3.0-rc0 Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 01/17] iotests: Update 051's reference output Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 02/17] qemu-img: Fix convert, amend error messages for unknown options Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 03/17] block: Deprecate QCOW/QCOW2 encryption Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 04/17] block: Fix block-set-write-threshold not to use funky error class Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 05/17] qemu-img: Avoid qerror_report_err() outside QMP handlers, again Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 06/17] qcow2: Respect new_block in alloc_refcount_block() Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 07/17] iotests: Add tests for refcount table growth Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 08/17] iotests: Test non-self-referential qcow2 refblocks Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 09/17] monitor: Convert bdrv_find to blk_by_name Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 10/17] migration: " Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 11/17] blockdev: " Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 12/17] block: Drop bdrv_find Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 13/17] block/vpc: optimize vpc_co_get_block_status Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 14/17] vpc: Ignore geometry for large images Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 15/17] block/vpc: make calculate_geometry spec conform Kevin Wolf
2015-03-16 16:57 ` [Qemu-devel] [PULL 16/17] block/vpc: rename footer->size -> footer->current_size Kevin Wolf
2015-03-16 16:57 ` Kevin Wolf [this message]
2015-03-17 10:25 ` [Qemu-devel] [PULL 00/17] Block patches for 2.3.0-rc0 Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1426525041-21926-18-git-send-email-kwolf@redhat.com \
    --to=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).