From 9388de7fa62baa6492cc588a78837b675bf7230f Mon Sep 17 00:00:00 2001 From: kungf Date: Fri, 8 Sep 2017 12:09:35 +0800 Subject: [PATCH] os/bluestore: shrink aio submit size to pending value Signed-off-by: kungf --- src/os/bluestore/KernelDevice.cc | 2 +- src/os/bluestore/aio.cc | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) 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); -- 2.47.3