diff options
author | Yan, Zheng <zyan@redhat.com> | 2016-05-13 11:04:33 +0800 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2016-05-26 01:15:40 +0200 |
commit | 0e76abf21e769245b6eebb27b439ad014ac49292 (patch) | |
tree | f6662693272bcd7b3eda7624d1f92bab2fb8531b /net/ceph/osd_client.c | |
parent | f0b33df57a5f03c637f75ead7cb4d978c59cc63d (diff) | |
download | op-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.c | 2 |
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; |