diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index 97ee5d1fbb61fc67433d2338f1041622d0e75d8d..4aa8e375e648bc49c3bf8dba6d8d6d545787d706 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -1168,7 +1168,7 @@ static int ceph_update_writeable_page(struct file *file, snapc = ceph_get_snap_context(snapc); unlock_page(page); ceph_queue_writeback(inode); - r = wait_event_interruptible(ci->i_cap_wq, + r = wait_event_killable(ci->i_cap_wq, context_is_writeable_or_written(inode, snapc)); ceph_put_snap_context(snapc); if (r == -ERESTARTSYS)