From: Xie Yongji <xieyon...@bytedance.com> When an I/O request failed, now we only return correct value on scsi check condition. We should also have a default errno such as -EIO in other case.
Signed-off-by: Xie Yongji <xieyon...@bytedance.com> Message-Id: <20200701105444.3226-2-xieyon...@bytedance.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- block/iscsi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/block/iscsi.c b/block/iscsi.c index 2964c9f8d2..387ed872ef 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -241,9 +241,11 @@ iscsi_co_generic_cb(struct iscsi_context *iscsi, int status, iTask->status = status; iTask->do_retry = 0; + iTask->err_code = 0; iTask->task = task; if (status != SCSI_STATUS_GOOD) { + iTask->err_code = -EIO; if (iTask->retries++ < ISCSI_CMD_RETRIES) { if (status == SCSI_STATUS_BUSY || status == SCSI_STATUS_TIMEOUT || -- 2.26.2