Commit 0e76abf2 authored by Yan, Zheng's avatar Yan, Zheng Committed by Ilya Dryomov

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: default avatarYan, Zheng <zyan@redhat.com>
parent f0b33df5
...@@ -3454,7 +3454,7 @@ static int wait_request_timeout(struct ceph_osd_request *req, ...@@ -3454,7 +3454,7 @@ static int wait_request_timeout(struct ceph_osd_request *req,
long left; long left;
dout("%s req %p tid %llu\n", __func__, req, req->r_tid); 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)); ceph_timeout_jiffies(timeout));
if (left <= 0) { if (left <= 0) {
left = left ?: -ETIMEDOUT; left = left ?: -ETIMEDOUT;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment