Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 87487
b: refs/heads/master
c: 6cb2a21
h: refs/heads/master
i:
  87485: a19009f
  87483: c8915a7
  87479: 1857c58
  87471: 5fcfdbc
  87455: 0c0fe8a
  87423: aa2371e
v: v3
  • Loading branch information
Quentin Barnes authored and Linus Torvalds committed Mar 20, 2008
1 parent c2a571f commit de8df15
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 264e3e889d86e552b4191d69bb60f4f3b383135a
refs/heads/master: 6cb2a21049b8990df4576c5fce4d48d0206c22d5
8 changes: 8 additions & 0 deletions trunk/fs/aio.c
Original file line number Diff line number Diff line change
Expand Up @@ -996,6 +996,14 @@ int aio_complete(struct kiocb *iocb, long res, long res2)
/* everything turned out well, dispose of the aiocb. */
ret = __aio_put_req(ctx, iocb);

/*
* We have to order our ring_info tail store above and test
* of the wait list below outside the wait lock. This is
* like in wake_up_bit() where clearing a bit has to be
* ordered with the unlocked test.
*/
smp_mb();

if (waitqueue_active(&ctx->wait))
wake_up(&ctx->wait);

Expand Down

0 comments on commit de8df15

Please sign in to comment.