]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
Fix RBD-NBD aio_callback error handling
authorcy.l@inwinstack.com <cy.l@inwinstack.com>
Wed, 27 Apr 2016 03:00:25 +0000 (11:00 +0800)
committercy.l@inwinstack.com <cy.l@inwinstack.com>
Wed, 27 Apr 2016 03:11:29 +0000 (11:11 +0800)
Tracker-Id: #15604

Signed-off-by: Chang-Yi Lee <cy.l@inwinstack.com>
qa/workunits/rbd/rbd-nbd.sh
src/tools/rbd_nbd/rbd-nbd.cc

index 3bc7d80d2800d026d9cb89d76569132560e99b12..46e8f3858d0189a8c4b034ecf6cc53101e47ccd8 100755 (executable)
@@ -81,8 +81,7 @@ ${SUDO} rbd-nbd list-mapped | grep "^${DEV}$"
 
 #write test
 dd if=/dev/urandom of=${DATA} bs=1M count=${SIZE}
-${SUDO} dd if=${DATA} of=${DEV} bs=1M
-sync
+${SUDO} dd if=${DATA} of=${DEV} bs=1M oflag=direct
 [ "`dd if=${DATA} bs=1M | md5sum`" = "`rbd -p ${POOL} --no-progress export ${IMAGE} - | md5sum`" ]
 
 #trim test
index e0c0284021c55c842da1b4dad47504e1fc7bfdde..33f7c3f35094ffb5dee59170d1192246e9caf36d 100644 (file)
@@ -186,10 +186,9 @@ private:
 
     if (ret < 0) {
       ctx->reply.error = htonl(-ret);
-    } else if ((ctx->command == NBD_CMD_WRITE || ctx->command == NBD_CMD_READ)
-              && ret != static_cast<int>(ctx->request.len)) {
+    } else if ((ctx->command == NBD_CMD_WRITE) && ret != 0) {
       derr << __func__ << ": " << *ctx << ": unexpected return value: " << ret
-          << " (" << ctx->request.len << " expected)" << dendl;
+          << dendl;
       ctx->reply.error = htonl(EIO);
     } else {
       ctx->reply.error = htonl(0);