From 0e76abf21e769245b6eebb27b439ad014ac49292 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Fri, 13 May 2016 11:04:33 +0800 Subject: [PATCH] libceph: make ceph_osdc_wait_request() uninterruptible Ceph_osdc_wait_request() is used when cephfs issues sync IO. In most cases, the sync IO should be uninterruptible. The fix is use killale wait function in ceph_osdc_wait_request(). Signed-off-by: Yan, Zheng --- net/ceph/osd_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index 55cafd3a2ff0..0160d7d09a1e 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c @@ -3454,7 +3454,7 @@ static int wait_request_timeout(struct ceph_osd_request *req, long left; dout("%s req %p tid %llu\n", __func__, req, req->r_tid); - left = wait_for_completion_interruptible_timeout(&req->r_completion, + left = wait_for_completion_killable_timeout(&req->r_completion, ceph_timeout_jiffies(timeout)); if (left <= 0) { left = left ?: -ETIMEDOUT;