From: Yan, Zheng Date: Fri, 13 May 2016 03:04:33 +0000 (+0800) Subject: libceph: make ceph_osdc_wait_request() uninterruptible X-Git-Tag: v4.7-rc1~39^2~5 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=0e76abf21e769245b6eebb27b439ad014ac49292;p=users%2Fdwmw2%2Flinux.git 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 --- diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index 55cafd3a2ff08..0160d7d09a1e9 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;