Patchwork [v2] qed: adjust the way to get nb_sectors

login
register
mail settings
Submitter Zhi Yong Wu
Date Nov. 1, 2011, 8:04 a.m.
Message ID <1320134672-14310-1-git-send-email-wuzhy@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/123040/
State New
Headers show

Comments

Zhi Yong Wu - Nov. 1, 2011, 8:04 a.m.
This patch is only to refactor some lines of codes to get better and more robust codes.

As you have seen, in qed_read_table_cb() it's nice to
use qiov->size because that function doesn't obviously use a single
struct iovec.

In other two functions, if qiov use more than one struct iovec, the existing way will get wrong nb_sectors.
To make the code more robust, it will be nicer to refactor the existing way as below.


Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
---
 block/qed-table.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
Stefan Hajnoczi - Nov. 1, 2011, 9:10 a.m.
On Tue, Nov 1, 2011 at 8:04 AM, Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> wrote:
> This patch is only to refactor some lines of codes to get better and more robust codes.
>
> As you have seen, in qed_read_table_cb() it's nice to
> use qiov->size because that function doesn't obviously use a single
> struct iovec.
>
> In other two functions, if qiov use more than one struct iovec, the existing way will get wrong nb_sectors.
> To make the code more robust, it will be nicer to refactor the existing way as below.
>
>
> Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
> ---
>  block/qed-table.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)

Acked-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Kevin Wolf - Nov. 2, 2011, 11:13 a.m.
Am 01.11.2011 09:04, schrieb Zhi Yong Wu:
> This patch is only to refactor some lines of codes to get better and more robust codes.
> 
> As you have seen, in qed_read_table_cb() it's nice to
> use qiov->size because that function doesn't obviously use a single
> struct iovec.
> 
> In other two functions, if qiov use more than one struct iovec, the existing way will get wrong nb_sectors.
> To make the code more robust, it will be nicer to refactor the existing way as below.
> 
> 
> Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>

Thanks, applied to the block branch.

Kevin

Patch

diff --git a/block/qed-table.c b/block/qed-table.c
index f31f9ff..8ee8443 100644
--- a/block/qed-table.c
+++ b/block/qed-table.c
@@ -29,7 +29,7 @@  static void qed_read_table_cb(void *opaque, int ret)
 {
     QEDReadTableCB *read_table_cb = opaque;
     QEDTable *table = read_table_cb->table;
-    int noffsets = read_table_cb->iov.iov_len / sizeof(uint64_t);
+    int noffsets = read_table_cb->qiov.size / sizeof(uint64_t);
     int i;
 
     /* Handle I/O error */
@@ -65,7 +65,7 @@  static void qed_read_table(BDRVQEDState *s, uint64_t offset, QEDTable *table,
 
     qemu_iovec_init_external(qiov, &read_table_cb->iov, 1);
     aiocb = bdrv_aio_readv(s->bs->file, offset / BDRV_SECTOR_SIZE, qiov,
-                           read_table_cb->iov.iov_len / BDRV_SECTOR_SIZE,
+                           qiov->size / BDRV_SECTOR_SIZE,
                            qed_read_table_cb, read_table_cb);
     if (!aiocb) {
         qed_read_table_cb(read_table_cb, -EIO);
@@ -160,7 +160,7 @@  static void qed_write_table(BDRVQEDState *s, uint64_t offset, QEDTable *table,
 
     aiocb = bdrv_aio_writev(s->bs->file, offset / BDRV_SECTOR_SIZE,
                             &write_table_cb->qiov,
-                            write_table_cb->iov.iov_len / BDRV_SECTOR_SIZE,
+                            write_table_cb->qiov.size / BDRV_SECTOR_SIZE,
                             qed_write_table_cb, write_table_cb);
     if (!aiocb) {
         qed_write_table_cb(write_table_cb, -EIO);