All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 1/1] block: fix return code for partial write for Linux AIO
@ 2016-06-23 11:37 Denis V. Lunev
  2016-06-28 11:21 ` Denis V. Lunev
  2016-06-28 11:52 ` Kevin Wolf
  0 siblings, 2 replies; 5+ messages in thread
From: Denis V. Lunev @ 2016-06-23 11:37 UTC (permalink / raw)
  To: qemu-block, qemu-devel; +Cc: den, Pavel Borzenkov, Kevin Wolf, Max Reitz

Partial write most likely means that there is not space rather than
"something wrong happens". Thus it would be more natural to return
ENOSPC rather than EINVAL.

The problem actually happens with NBD server, which has reported EINVAL
rather then ENOSPC on the first error using its protocol, which makes
report to the user wrong.

Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Pavel Borzenkov <pborzenkov@virtuozzo.com>
CC: Kevin Wolf <kwolf@redhat.com>
CC: Max Reitz <mreitz@redhat.com>
---
 block/linux-aio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/linux-aio.c b/block/linux-aio.c
index e468960..7df8651 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -87,7 +87,7 @@ static void qemu_laio_process_completion(struct qemu_laiocb *laiocb)
                 qemu_iovec_memset(laiocb->qiov, ret, 0,
                     laiocb->qiov->size - ret);
             } else {
-                ret = -EINVAL;
+                ret = -ENOSPC;
             }
         }
     }
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-06-28 14:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-23 11:37 [Qemu-devel] [PATCH 1/1] block: fix return code for partial write for Linux AIO Denis V. Lunev
2016-06-28 11:21 ` Denis V. Lunev
2016-06-28 14:22   ` Eric Blake
2016-06-28 14:37     ` Denis V. Lunev
2016-06-28 11:52 ` Kevin Wolf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.