Эх сурвалжийг харах

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>
Yan, Zheng 9 жил өмнө
parent
commit
a78bbd4b29
1 өөрчлөгдсөн 1 нэмэгдсэн , 1 устгасан
  1. 1 1
      fs/ceph/addr.c

+ 1 - 1
fs/ceph/addr.c

@@ -1168,7 +1168,7 @@ retry_locked:
 			snapc = ceph_get_snap_context(snapc);
 			snapc = ceph_get_snap_context(snapc);
 			unlock_page(page);
 			unlock_page(page);
 			ceph_queue_writeback(inode);
 			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));
 			       context_is_writeable_or_written(inode, snapc));
 			ceph_put_snap_context(snapc);
 			ceph_put_snap_context(snapc);
 			if (r == -ERESTARTSYS)
 			if (r == -ERESTARTSYS)