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

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/44215


Signed-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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2579,7 +2579,7 @@ static void __do_request(struct ceph_mds_client *mdsc,
	if (req->r_timeout &&
	    time_after_eq(jiffies, req->r_started + req->r_timeout)) {
		dout("do_request timed out\n");
		err = -EIO;
		err = -ETIMEDOUT;
		goto finish;
	}
	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,
		if (timeleft > 0)
			err = 0;
		else if (!timeleft)
			err = -EIO;  /* timed out */
			err = -ETIMEDOUT;  /* timed out */
		else
			err = timeleft;  /* killed */
	}