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.9.8~1997^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0e76abf21e769245b6eebb27b439ad014ac49292;p=platform%2Fkernel%2Flinux-rpi3.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 55cafd3..0160d7d 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;