From: Mykola Golub Date: Wed, 13 Jan 2016 10:42:47 +0000 (+0200) Subject: rbd-nbd: returned length equal requested only for read and write X-Git-Tag: v10.0.3~59^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3ff60a61bf68516983c0b6ea6791ce712c98a073;p=ceph.git rbd-nbd: returned length equal requested only for read and write On success aio_discard returns 0. Signed-off-by: Mykola Golub --- diff --git a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc index 07d7edb19c63..04a935aa9723 100644 --- a/src/tools/rbd_nbd/rbd-nbd.cc +++ b/src/tools/rbd_nbd/rbd-nbd.cc @@ -186,7 +186,8 @@ private: if (ret < 0) { ctx->reply.error = htonl(-ret); - } else if (ret != static_cast(ctx->request.len)) { + } else if ((ctx->command == NBD_CMD_WRITE || ctx->command == NBD_CMD_READ) + && ret != static_cast(ctx->request.len)) { derr << __func__ << ": " << *ctx << ": unexpected return value: " << ret << " (" << ctx->request.len << " expected)" << dendl; ctx->reply.error = htonl(EIO);