From: Sage Weil Date: Thu, 10 Dec 2015 21:49:14 +0000 (-0500) Subject: os/bluestore/BlockDevice: check aio return values X-Git-Tag: v10.0.3~154^2~156 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=db754e7df335bee841648809530cf3e40b1120e7;p=ceph.git os/bluestore/BlockDevice: check aio return values Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlockDevice.cc b/src/os/bluestore/BlockDevice.cc index e73c2feffa33..b3a9f35a67fb 100644 --- a/src/os/bluestore/BlockDevice.cc +++ b/src/os/bluestore/BlockDevice.cc @@ -172,8 +172,11 @@ void BlockDevice::_aio_thread() IOContext *ioc = static_cast(aio[i]->priv); Mutex::Locker l(ioc->lock); --ioc->num_running; - dout(10) << __func__ << " finished aio " << aio[i] << " ioc " << ioc + int r = aio[i]->get_return_value(); + dout(10) << __func__ << " finished aio " << aio[i] << " r " << r + << " ioc " << ioc << " with " << ioc->num_running << " aios left" << dendl; + assert(r >= 0); _aio_finish(ioc, aio[i]->offset, aio[i]->length); if (ioc->num_running == 0) { ioc->running_bl.clear(); diff --git a/src/os/fs/FS.h b/src/os/fs/FS.h index a98952a45c1b..02d3cafad335 100644 --- a/src/os/fs/FS.h +++ b/src/os/fs/FS.h @@ -58,8 +58,9 @@ public: int fd; vector iov; uint64_t offset, length; + int rval; - aio_t(void *p, int f) : priv(p), fd(f) { + aio_t(void *p, int f) : priv(p), fd(f), rval(-1000) { memset(&iocb, 0, sizeof(iocb)); } @@ -70,6 +71,10 @@ public: for (unsigned u=0; urval = event[i].res; } return r; }