diff options
author | Yehuda Sadeh <yehuda@hq.newdream.net> | 2010-07-27 13:11:08 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-07-27 13:11:17 -0700 |
commit | 03066f23452ff088ad8e2c8acdf4443043f35b51 (patch) | |
tree | 37f03df4e28de87339cec3b88e479073c8cee958 /fs/ceph/inode.c | |
parent | 25848b3ec681c7018e3746dd850c1e8ed0a3dd6b (diff) |
ceph: use complete_all and wake_up_all
This fixes an issue triggered by running concurrent syncs. One of the syncs
would go through while the other would just hang indefinitely. In any case, we
never actually want to wake a single waiter, so the *_all functions should
be used.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/inode.c')
-rw-r--r-- | fs/ceph/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 3582e79f46e..389f9dbd994 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -1501,7 +1501,7 @@ retry: if (wrbuffer_refs == 0) ceph_check_caps(ci, CHECK_CAPS_AUTHONLY, NULL); if (wake) - wake_up(&ci->i_cap_wq); + wake_up_all(&ci->i_cap_wq); } |