* [Qemu-devel] [PATCH] block/iscsi: return -ENOMEM if an async call fails immediately
@ 2013-12-20 9:02 Peter Lieven
2013-12-20 15:06 ` ronnie sahlberg
2014-01-03 10:12 ` Stefan Hajnoczi
0 siblings, 2 replies; 3+ messages in thread
From: Peter Lieven @ 2013-12-20 9:02 UTC (permalink / raw)
To: qemu-devel; +Cc: kwolf, pbonzini, Peter Lieven, ronniesahlberg, stefanha
if an async libiscsi call fails directly it can only be due
to an out of memory condition. All other errors are returned
through the callback.
Signed-off-by: Peter Lieven <pl@kamp.de>
---
block/iscsi.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/block/iscsi.c b/block/iscsi.c
index 56c0799..657a348 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -308,7 +308,7 @@ retry:
iscsi_co_generic_cb, &iTask);
if (iTask.task == NULL) {
g_free(buf);
- return -EIO;
+ return -ENOMEM;
}
#if defined(LIBISCSI_FEATURE_IOVECTOR)
scsi_task_set_iov_out(iTask.task, (struct scsi_iovec *) iov->iov,
@@ -376,7 +376,7 @@ retry:
break;
}
if (iTask.task == NULL) {
- return -EIO;
+ return -ENOMEM;
}
#if defined(LIBISCSI_FEATURE_IOVECTOR)
scsi_task_set_iov_in(iTask.task, (struct scsi_iovec *) iov->iov, iov->niov);
@@ -419,7 +419,7 @@ static int coroutine_fn iscsi_co_flush(BlockDriverState *bs)
retry:
if (iscsi_synchronizecache10_task(iscsilun->iscsi, iscsilun->lun, 0, 0, 0,
0, iscsi_co_generic_cb, &iTask) == NULL) {
- return -EIO;
+ return -ENOMEM;
}
while (!iTask.complete) {
@@ -669,7 +669,7 @@ retry:
sector_qemu2lun(sector_num, iscsilun),
8 + 16, iscsi_co_generic_cb,
&iTask) == NULL) {
- ret = -EIO;
+ ret = -ENOMEM;
goto out;
}
@@ -753,7 +753,7 @@ coroutine_fn iscsi_co_discard(BlockDriverState *bs, int64_t sector_num,
retry:
if (iscsi_unmap_task(iscsilun->iscsi, iscsilun->lun, 0, 0, &list, 1,
iscsi_co_generic_cb, &iTask) == NULL) {
- return -EIO;
+ return -ENOMEM;
}
while (!iTask.complete) {
@@ -822,7 +822,7 @@ retry:
iscsilun->zeroblock, iscsilun->block_size,
nb_blocks, 0, !!(flags & BDRV_REQ_MAY_UNMAP),
0, 0, iscsi_co_generic_cb, &iTask) == NULL) {
- return -EIO;
+ return -ENOMEM;
}
while (!iTask.complete) {
--
1.7.9.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] block/iscsi: return -ENOMEM if an async call fails immediately
2013-12-20 9:02 [Qemu-devel] [PATCH] block/iscsi: return -ENOMEM if an async call fails immediately Peter Lieven
@ 2013-12-20 15:06 ` ronnie sahlberg
2014-01-03 10:12 ` Stefan Hajnoczi
1 sibling, 0 replies; 3+ messages in thread
From: ronnie sahlberg @ 2013-12-20 15:06 UTC (permalink / raw)
To: Peter Lieven; +Cc: Kevin Wolf, Paolo Bonzini, qemu-devel, Stefan Hajnoczi
Looks good.
Reviewed-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
On Fri, Dec 20, 2013 at 1:02 AM, Peter Lieven <pl@kamp.de> wrote:
> if an async libiscsi call fails directly it can only be due
> to an out of memory condition. All other errors are returned
> through the callback.
>
> Signed-off-by: Peter Lieven <pl@kamp.de>
> ---
> block/iscsi.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/block/iscsi.c b/block/iscsi.c
> index 56c0799..657a348 100644
> --- a/block/iscsi.c
> +++ b/block/iscsi.c
> @@ -308,7 +308,7 @@ retry:
> iscsi_co_generic_cb, &iTask);
> if (iTask.task == NULL) {
> g_free(buf);
> - return -EIO;
> + return -ENOMEM;
> }
> #if defined(LIBISCSI_FEATURE_IOVECTOR)
> scsi_task_set_iov_out(iTask.task, (struct scsi_iovec *) iov->iov,
> @@ -376,7 +376,7 @@ retry:
> break;
> }
> if (iTask.task == NULL) {
> - return -EIO;
> + return -ENOMEM;
> }
> #if defined(LIBISCSI_FEATURE_IOVECTOR)
> scsi_task_set_iov_in(iTask.task, (struct scsi_iovec *) iov->iov, iov->niov);
> @@ -419,7 +419,7 @@ static int coroutine_fn iscsi_co_flush(BlockDriverState *bs)
> retry:
> if (iscsi_synchronizecache10_task(iscsilun->iscsi, iscsilun->lun, 0, 0, 0,
> 0, iscsi_co_generic_cb, &iTask) == NULL) {
> - return -EIO;
> + return -ENOMEM;
> }
>
> while (!iTask.complete) {
> @@ -669,7 +669,7 @@ retry:
> sector_qemu2lun(sector_num, iscsilun),
> 8 + 16, iscsi_co_generic_cb,
> &iTask) == NULL) {
> - ret = -EIO;
> + ret = -ENOMEM;
> goto out;
> }
>
> @@ -753,7 +753,7 @@ coroutine_fn iscsi_co_discard(BlockDriverState *bs, int64_t sector_num,
> retry:
> if (iscsi_unmap_task(iscsilun->iscsi, iscsilun->lun, 0, 0, &list, 1,
> iscsi_co_generic_cb, &iTask) == NULL) {
> - return -EIO;
> + return -ENOMEM;
> }
>
> while (!iTask.complete) {
> @@ -822,7 +822,7 @@ retry:
> iscsilun->zeroblock, iscsilun->block_size,
> nb_blocks, 0, !!(flags & BDRV_REQ_MAY_UNMAP),
> 0, 0, iscsi_co_generic_cb, &iTask) == NULL) {
> - return -EIO;
> + return -ENOMEM;
> }
>
> while (!iTask.complete) {
> --
> 1.7.9.5
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] block/iscsi: return -ENOMEM if an async call fails immediately
2013-12-20 9:02 [Qemu-devel] [PATCH] block/iscsi: return -ENOMEM if an async call fails immediately Peter Lieven
2013-12-20 15:06 ` ronnie sahlberg
@ 2014-01-03 10:12 ` Stefan Hajnoczi
1 sibling, 0 replies; 3+ messages in thread
From: Stefan Hajnoczi @ 2014-01-03 10:12 UTC (permalink / raw)
To: Peter Lieven; +Cc: kwolf, pbonzini, stefanha, qemu-devel, ronniesahlberg
On Fri, Dec 20, 2013 at 10:02:47AM +0100, Peter Lieven wrote:
> if an async libiscsi call fails directly it can only be due
> to an out of memory condition. All other errors are returned
> through the callback.
>
> Signed-off-by: Peter Lieven <pl@kamp.de>
> ---
> block/iscsi.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
Thanks, applied to my block-next tree:
https://github.com/stefanha/qemu/commits/block-next
Stefan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-01-03 10:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-20 9:02 [Qemu-devel] [PATCH] block/iscsi: return -ENOMEM if an async call fails immediately Peter Lieven
2013-12-20 15:06 ` ronnie sahlberg
2014-01-03 10:12 ` Stefan Hajnoczi
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).