Patch 2.6.32.35 to 2.6.32.36
/fs/aio.c
blob:b84a7695358dd2a4cb8afcd03a8b07a07e407eac -> blob:22a19ad1d42a05a4829c078b0782c8b601dece8c
--- fs/aio.c
+++ fs/aio.c
@@ -497,7 +497,7 @@ static inline void really_put_req(struct
ctx->reqs_active--;
if (unlikely(!ctx->reqs_active && ctx->dead))
- wake_up(&ctx->wait);
+ wake_up_all(&ctx->wait);
}
static void aio_fput_routine(struct work_struct *data)
@@ -1219,7 +1219,7 @@ static void io_destroy(struct kioctx *io
* by other CPUs at this point. Right now, we rely on the
* locking done by the above calls to ensure this consistency.
*/
- wake_up(&ioctx->wait);
+ wake_up_all(&ioctx->wait);
put_ioctx(ioctx); /* once for the lookup */
}