aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2016-05-12 23:30:24 -0400
committerIlya Dryomov <idryomov@gmail.com>2016-05-25 19:15:41 -0400
commita78bbd4b29c29784f0addb5e3b35790c7ed178ae (patch)
tree7b4f44b5d056b9458140ed0517fa755e185107d7 /fs
parent0e76abf21e769245b6eebb27b439ad014ac49292 (diff)
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 <zyan@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/ceph/addr.c2
1 files changed, 1 insertions, 1 deletions
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:
1168 snapc = ceph_get_snap_context(snapc); 1168 snapc = ceph_get_snap_context(snapc);
1169 unlock_page(page); 1169 unlock_page(page);
1170 ceph_queue_writeback(inode); 1170 ceph_queue_writeback(inode);
1171 r = wait_event_interruptible(ci->i_cap_wq, 1171 r = wait_event_killable(ci->i_cap_wq,
1172 context_is_writeable_or_written(inode, snapc)); 1172 context_is_writeable_or_written(inode, snapc));
1173 ceph_put_snap_context(snapc); 1173 ceph_put_snap_context(snapc);
1174 if (r == -ERESTARTSYS) 1174 if (r == -ERESTARTSYS)