Commit 8ccf7fcc authored by Xiubo Li's avatar Xiubo Li Committed by Ilya Dryomov

ceph: return ETIMEDOUT errno to userland when request timed out

req->r_timeout is only used during mounting, so this error will
be more accurate.

URL: https://tracker.ceph.com/issues/44215Signed-off-by: default avatarXiubo Li <xiubli@redhat.com>
Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
parent 1b0c3b9f
...@@ -2579,7 +2579,7 @@ static void __do_request(struct ceph_mds_client *mdsc, ...@@ -2579,7 +2579,7 @@ static void __do_request(struct ceph_mds_client *mdsc,
if (req->r_timeout && if (req->r_timeout &&
time_after_eq(jiffies, req->r_started + req->r_timeout)) { time_after_eq(jiffies, req->r_started + req->r_timeout)) {
dout("do_request timed out\n"); dout("do_request timed out\n");
err = -EIO; err = -ETIMEDOUT;
goto finish; goto finish;
} }
if (READ_ONCE(mdsc->fsc->mount_state) == CEPH_MOUNT_SHUTDOWN) { if (READ_ONCE(mdsc->fsc->mount_state) == CEPH_MOUNT_SHUTDOWN) {
...@@ -2753,7 +2753,7 @@ static int ceph_mdsc_wait_request(struct ceph_mds_client *mdsc, ...@@ -2753,7 +2753,7 @@ static int ceph_mdsc_wait_request(struct ceph_mds_client *mdsc,
if (timeleft > 0) if (timeleft > 0)
err = 0; err = 0;
else if (!timeleft) else if (!timeleft)
err = -EIO; /* timed out */ err = -ETIMEDOUT; /* timed out */
else else
err = timeleft; /* killed */ err = timeleft; /* killed */
} }
......
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