aio: be defensive to ensure request batching is non-zero instead of BUG_ON()

In the event that an overflow/underflow occurs while calculating req_batch,
clamp the minimum at 1 request instead of doing a BUG_ON().

Signed-off-by: Benjamin LaHaise <bcrl@kvack.org>
This commit is contained in:
Benjamin LaHaise 2013-07-31 10:34:18 -04:00
parent db446a08c2
commit 6878ea72a5

View File

@ -576,7 +576,8 @@ static struct kioctx *ioctx_alloc(unsigned nr_events)
atomic_set(&ctx->reqs_available, ctx->nr_events - 1);
ctx->req_batch = (ctx->nr_events - 1) / (num_possible_cpus() * 4);
BUG_ON(!ctx->req_batch);
if (ctx->req_batch < 1)
ctx->req_batch = 1;
err = ioctx_add_table(ctx, mm);
if (err)