From: kungf Date: Fri, 8 Sep 2017 04:09:35 +0000 (+0800) Subject: os/bluestore: shrink aio submit size to pending value X-Git-Tag: v13.0.1~969^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F17588%2Fhead;p=ceph.git os/bluestore: shrink aio submit size to pending value Signed-off-by: kungf --- diff --git a/src/os/bluestore/KernelDevice.cc b/src/os/bluestore/KernelDevice.cc index 38bf5d662e9a..f04efe69b2a1 100644 --- a/src/os/bluestore/KernelDevice.cc +++ b/src/os/bluestore/KernelDevice.cc @@ -520,7 +520,7 @@ void KernelDevice::aio_submit(IOContext *ioc) void *priv = static_cast(ioc); int r, retries = 0; r = aio_queue.submit_batch(ioc->running_aios.begin(), e, - ioc->num_running.load(), priv, &retries); + pending, priv, &retries); if (retries) derr << __func__ << " retries " << retries << dendl; diff --git a/src/os/bluestore/aio.cc b/src/os/bluestore/aio.cc index 4996e73452b1..66bac8993939 100644 --- a/src/os/bluestore/aio.cc +++ b/src/os/bluestore/aio.cc @@ -46,6 +46,7 @@ int aio_queue_t::submit_batch(aio_iter begin, aio_iter end, ++left; ++cur; } + assert(aios_size >= left); int done = 0; while (left > 0) { int r = io_submit(ctx, left, piocb + done);