From: Yan, Zheng Date: Fri, 13 May 2016 03:30:24 +0000 (+0800) Subject: ceph: make ceph_update_writeable_page() uninterruptible X-Git-Tag: v4.7-rc1~39^2~4 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=a78bbd4b29c29784f0addb5e3b35790c7ed178ae;p=linux-block.git ceph: make ceph_update_writeable_page() uninterruptible ceph_update_writeable_page() is used by ceph_write_begin(). It beaks atomicity of write operation if it's interruptible. Signed-off-by: Yan, Zheng --- diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index 97ee5d1fbb61..4aa8e375e648 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -1168,7 +1168,7 @@ retry_locked: 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)