diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2011-11-30 09:12:30 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2011-12-15 12:40:07 +0100 |
commit | ad54ae80c73f486cf39b4b38a04b76dd971cdbf6 (patch) | |
tree | 68c7bc557d325ed840ae11332b69c1ecb63e32fd /block.c | |
parent | 222f23f508a8d778f56eddef14752dfd26d225b4 (diff) |
block: bdrv_aio_* do not return NULL
Initially done with the following semantic patch:
@ rule1 @
expression E;
statement S;
@@
E =
(
bdrv_aio_readv
| bdrv_aio_writev
| bdrv_aio_flush
| bdrv_aio_discard
| bdrv_aio_ioctl
)
(...);
(
- if (E == NULL) { ... }
|
- if (E)
{ <... S ...> }
)
which however missed the occurrence in block/blkverify.c
(as it should have done), and left behind some unused
variables.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r-- | block.c | 24 |
1 files changed, 1 insertions, 23 deletions
@@ -2812,7 +2812,6 @@ static int multiwrite_merge(BlockDriverState *bs, BlockRequest *reqs, */ int bdrv_aio_multiwrite(BlockDriverState *bs, BlockRequest *reqs, int num_reqs) { - BlockDriverAIOCB *acb; MultiwriteCB *mcb; int i; @@ -2867,35 +2866,14 @@ int bdrv_aio_multiwrite(BlockDriverState *bs, BlockRequest *reqs, int num_reqs) // Run the aio requests for (i = 0; i < num_reqs; i++) { mcb->num_requests++; - acb = bdrv_aio_writev(bs, reqs[i].sector, reqs[i].qiov, + bdrv_aio_writev(bs, reqs[i].sector, reqs[i].qiov, reqs[i].nb_sectors, multiwrite_cb, mcb); - - if (acb == NULL) { - // We can only fail the whole thing if no request has been - // submitted yet. Otherwise we'll wait for the submitted AIOs to - // complete and report the error in the callback. - if (i == 0) { - trace_bdrv_aio_multiwrite_earlyfail(mcb); - goto fail; - } else { - trace_bdrv_aio_multiwrite_latefail(mcb, i); - multiwrite_cb(mcb, -EIO); - break; - } - } } /* Complete the dummy request */ multiwrite_cb(mcb, 0); return 0; - -fail: - for (i = 0; i < mcb->num_callbacks; i++) { - reqs[i].error = -EIO; - } - g_free(mcb); - return -1; } void bdrv_aio_cancel(BlockDriverAIOCB *acb) |