浏览代码

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>
Benjamin LaHaise 12 年之前
父节点
当前提交
6878ea72a5
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      fs/aio.c

+ 2 - 1
fs/aio.c

@@ -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)