ceph: simplify two mount_timeout sites
No need to bifurcate wait now that we've got ceph_timeout_jiffies(). Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Reviewed-by: Alex Elder <elder@linaro.org> Reviewed-by: Yan, Zheng <zyan@redhat.com>
This commit is contained in:
parent
216639dd50
commit
5be7303477
2 changed files with 14 additions and 18 deletions
|
@ -1257,17 +1257,11 @@ static int ceph_dir_fsync(struct file *file, loff_t start, loff_t end,
|
|||
|
||||
dout("dir_fsync %p wait on tid %llu (until %llu)\n",
|
||||
inode, req->r_tid, last_tid);
|
||||
if (req->r_timeout) {
|
||||
unsigned long time_left = wait_for_completion_timeout(
|
||||
&req->r_safe_completion,
|
||||
ret = !wait_for_completion_timeout(&req->r_safe_completion,
|
||||
ceph_timeout_jiffies(req->r_timeout));
|
||||
if (time_left > 0)
|
||||
ret = 0;
|
||||
else
|
||||
ret = -EIO; /* timed out */
|
||||
} else {
|
||||
wait_for_completion(&req->r_safe_completion);
|
||||
}
|
||||
if (ret)
|
||||
ret = -EIO; /* timed out */
|
||||
|
||||
ceph_mdsc_put_request(req);
|
||||
|
||||
spin_lock(&ci->i_unsafe_lock);
|
||||
|
|
|
@ -2266,16 +2266,18 @@ int ceph_mdsc_do_request(struct ceph_mds_client *mdsc,
|
|||
/* wait */
|
||||
mutex_unlock(&mdsc->mutex);
|
||||
dout("do_request waiting\n");
|
||||
if (req->r_timeout) {
|
||||
err = (long)wait_for_completion_killable_timeout(
|
||||
&req->r_completion,
|
||||
ceph_timeout_jiffies(req->r_timeout));
|
||||
if (err == 0)
|
||||
err = -EIO;
|
||||
} else if (req->r_wait_for_completion) {
|
||||
if (!req->r_timeout && req->r_wait_for_completion) {
|
||||
err = req->r_wait_for_completion(mdsc, req);
|
||||
} else {
|
||||
err = wait_for_completion_killable(&req->r_completion);
|
||||
long timeleft = wait_for_completion_killable_timeout(
|
||||
&req->r_completion,
|
||||
ceph_timeout_jiffies(req->r_timeout));
|
||||
if (timeleft > 0)
|
||||
err = 0;
|
||||
else if (!timeleft)
|
||||
err = -EIO; /* timed out */
|
||||
else
|
||||
err = timeleft; /* killed */
|
||||
}
|
||||
dout("do_request waited, got %d\n", err);
|
||||
mutex_lock(&mdsc->mutex);
|
||||
|
|
Loading…
Reference in a new issue