summaryrefslogtreecommitdiffstats
path: root/net/ceph/osd_client.c
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2016-05-13 11:04:33 +0800
committerIlya Dryomov <idryomov@gmail.com>2016-05-26 01:15:40 +0200
commit0e76abf21e769245b6eebb27b439ad014ac49292 (patch)
treef6662693272bcd7b3eda7624d1f92bab2fb8531b /net/ceph/osd_client.c
parentf0b33df57a5f03c637f75ead7cb4d978c59cc63d (diff)
downloadop-kernel-dev-0e76abf21e769245b6eebb27b439ad014ac49292.zip
op-kernel-dev-0e76abf21e769245b6eebb27b439ad014ac49292.tar.gz
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 <zyan@redhat.com>
Diffstat (limited to 'net/ceph/osd_client.c')
-rw-r--r--net/ceph/osd_client.c2
1 files changed, 1 insertions, 1 deletions
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;
OpenPOWER on IntegriCloud