qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Frediano Ziglio <freddy77@gmail.com>
To: kwolf@redhat.com
Cc: qemu-devel@nongnu.org, Frediano Ziglio <freddy77@gmail.com>
Subject: [Qemu-devel] [PATCH v3 09/15] qcow2: remove cluster_offset from QCowAIOCB
Date: Tue, 23 Aug 2011 15:21:16 +0200	[thread overview]
Message-ID: <1314105682-28396-10-git-send-email-freddy77@gmail.com> (raw)
In-Reply-To: <1314105682-28396-1-git-send-email-freddy77@gmail.com>


Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
---
 block/qcow2.c |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/block/qcow2.c b/block/qcow2.c
index 4b9ec29..7e13283 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -378,7 +378,6 @@ typedef struct QCowAIOCB {
     QEMUIOVector *qiov;
     int remaining_sectors;
     uint64_t bytes_done;
-    uint64_t cluster_offset;
     uint8_t *cluster_data;
     QEMUIOVector hd_qiov;
 } QCowAIOCB;
@@ -394,6 +393,7 @@ static int qcow2_aio_read_cb(QCowAIOCB *acb)
     int index_in_cluster, n1;
     int ret;
     int cur_nr_sectors; /* number of sectors in current iteration */
+    uint64_t cluster_offset = 0;
 
     if (acb->remaining_sectors == 0) {
         /* request completed */
@@ -408,7 +408,7 @@ static int qcow2_aio_read_cb(QCowAIOCB *acb)
     }
 
     ret = qcow2_get_cluster_offset(bs, acb->sector_num << 9,
-        &cur_nr_sectors, &acb->cluster_offset);
+        &cur_nr_sectors, &cluster_offset);
     if (ret < 0) {
         return ret;
     }
@@ -419,7 +419,7 @@ static int qcow2_aio_read_cb(QCowAIOCB *acb)
     qemu_iovec_copy(&acb->hd_qiov, acb->qiov, acb->bytes_done,
         cur_nr_sectors * 512);
 
-    if (!acb->cluster_offset) {
+    if (!cluster_offset) {
 
         if (bs->backing_hd) {
             /* read from the base image */
@@ -439,9 +439,9 @@ static int qcow2_aio_read_cb(QCowAIOCB *acb)
             /* Note: in this case, no need to wait */
             qemu_iovec_memset(&acb->hd_qiov, 0, 512 * cur_nr_sectors);
         }
-    } else if (acb->cluster_offset & QCOW_OFLAG_COMPRESSED) {
+    } else if (cluster_offset & QCOW_OFLAG_COMPRESSED) {
         /* add AIO support for compressed blocks ? */
-        ret = qcow2_decompress_cluster(bs, acb->cluster_offset);
+        ret = qcow2_decompress_cluster(bs, cluster_offset);
         if (ret < 0) {
             return ret;
         }
@@ -450,7 +450,7 @@ static int qcow2_aio_read_cb(QCowAIOCB *acb)
             s->cluster_cache + index_in_cluster * 512,
             512 * cur_nr_sectors);
     } else {
-        if ((acb->cluster_offset & 511) != 0) {
+        if ((cluster_offset & 511) != 0) {
             return -EIO;
         }
 
@@ -474,7 +474,7 @@ static int qcow2_aio_read_cb(QCowAIOCB *acb)
         BLKDBG_EVENT(bs->file, BLKDBG_READ_AIO);
         qemu_co_mutex_unlock(&s->lock);
         ret = bdrv_co_readv(bs->file,
-                            (acb->cluster_offset >> 9) + index_in_cluster,
+                            (cluster_offset >> 9) + index_in_cluster,
                             cur_nr_sectors, &acb->hd_qiov);
         qemu_co_mutex_lock(&s->lock);
         if (ret < 0) {
@@ -512,7 +512,6 @@ static QCowAIOCB *qcow2_aio_setup(BlockDriverState *bs, int64_t sector_num,
 
     acb->bytes_done = 0;
     acb->remaining_sectors = nb_sectors;
-    acb->cluster_offset = 0;
     return acb;
 }
 
@@ -564,6 +563,7 @@ static int qcow2_aio_write_cb(QCowAIOCB *acb)
     int ret;
     int cur_nr_sectors; /* number of sectors in current iteration */
     QCowL2Meta l2meta;
+    uint64_t cluster_offset;
 
     l2meta.nb_clusters = 0;
     qemu_co_queue_init(&l2meta.dependent_requests);
@@ -585,8 +585,8 @@ static int qcow2_aio_write_cb(QCowAIOCB *acb)
         return ret;
     }
 
-    acb->cluster_offset = l2meta.cluster_offset;
-    assert((acb->cluster_offset & 511) == 0);
+    cluster_offset = l2meta.cluster_offset;
+    assert((cluster_offset & 511) == 0);
 
     qemu_iovec_reset(&acb->hd_qiov);
     qemu_iovec_copy(&acb->hd_qiov, acb->qiov, acb->bytes_done,
@@ -612,7 +612,7 @@ static int qcow2_aio_write_cb(QCowAIOCB *acb)
     BLKDBG_EVENT(bs->file, BLKDBG_WRITE_AIO);
     qemu_co_mutex_unlock(&s->lock);
     ret = bdrv_co_writev(bs->file,
-                         (acb->cluster_offset >> 9) + index_in_cluster,
+                         (cluster_offset >> 9) + index_in_cluster,
                          cur_nr_sectors, &acb->hd_qiov);
     qemu_co_mutex_lock(&s->lock);
     if (ret < 0) {
-- 
1.7.1

  parent reply	other threads:[~2011-08-23 13:22 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-23 13:21 [Qemu-devel] [PATCH v3 00/15] qcow/qcow2 cleanups Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 01/15] qcow: allocate QCowAIOCB structure using stack Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 02/15] qcow: QCowAIOCB field cleanup Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 03/15] qcow: move some blocks of code to avoid useless variable initialization Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 04/15] qcow: embed qcow_aio_read_cb into qcow_co_readv and qcow_aio_write_cb into qcow_co_writev Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 05/15] qcow: remove old #undefined code Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 06/15] qcow2: removed unused fields Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 07/15] qcow2: removed cur_nr_sectors field in QCowAIOCB Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 08/15] qcow2: remove l2meta from QCowAIOCB Frediano Ziglio
2011-08-23 13:21 ` Frediano Ziglio [this message]
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 10/15] qcow2: remove common " Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 11/15] qcow2: reindent and use while before the big jump Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 12/15] qcow2: removed QCowAIOCB entirely Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 13/15] qcow2: remove memory leak Frediano Ziglio
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 14/15] qcow2: small math optimization Frediano Ziglio
2011-08-23 15:34   ` Kevin Wolf
2011-08-23 13:21 ` [Qemu-devel] [PATCH v3 15/15] qcow2: small optimization Frediano Ziglio
2011-08-23 15:35   ` Kevin Wolf
2011-08-23 15:41 ` [Qemu-devel] [PATCH v3 00/15] qcow/qcow2 cleanups Kevin Wolf

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=1314105682-28396-10-git-send-email-freddy77@gmail.com \
    --to=freddy77@gmail.com \
    --cc=kwolf@redhat.com \
    --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).