|
@@ -490,7 +490,7 @@ static struct kioctx *ioctx_alloc(unsigned nr_events)
|
|
|
return ERR_PTR(-EINVAL);
|
|
|
}
|
|
|
|
|
|
- if (!nr_events || (unsigned long)nr_events > aio_max_nr)
|
|
|
+ if (!nr_events || (unsigned long)nr_events > (aio_max_nr * 2UL))
|
|
|
return ERR_PTR(-EAGAIN);
|
|
|
|
|
|
ctx = kmem_cache_zalloc(kioctx_cachep, GFP_KERNEL);
|
|
@@ -522,7 +522,7 @@ static struct kioctx *ioctx_alloc(unsigned nr_events)
|
|
|
|
|
|
/* limit the number of system wide aios */
|
|
|
spin_lock(&aio_nr_lock);
|
|
|
- if (aio_nr + nr_events > aio_max_nr ||
|
|
|
+ if (aio_nr + nr_events > (aio_max_nr * 2UL) ||
|
|
|
aio_nr + nr_events < aio_nr) {
|
|
|
spin_unlock(&aio_nr_lock);
|
|
|
goto out_cleanup;
|