projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6f0f597
)
ceph: remove request from waiting list before unregister
author
Yan, Zheng
<zyan@redhat.com>
Fri, 14 Jun 2019 02:55:05 +0000
(10:55 +0800)
committer
Ilya Dryomov
<idryomov@gmail.com>
Mon, 8 Jul 2019 12:01:42 +0000
(14:01 +0200)
Link:
https://tracker.ceph.com/issues/40339
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/mds_client.c
patch
|
blob
|
history
diff --git
a/fs/ceph/mds_client.c
b/fs/ceph/mds_client.c
index fcea46a5462254d42355549e3a94449ab1339dd3..598a3fa280a7342449ebbf0fd4b5bf0bd3259fe5 100644
(file)
--- a/
fs/ceph/mds_client.c
+++ b/
fs/ceph/mds_client.c
@@
-727,6
+727,7
@@
void ceph_mdsc_release_request(struct kref *kref)
ceph_pagelist_release(req->r_pagelist);
put_request_session(req);
ceph_unreserve_caps(req->r_mdsc, &req->r_caps_reservation);
+ WARN_ON_ONCE(!list_empty(&req->r_wait));
kfree(req);
}
@@
-4162,6
+4163,7
@@
static void wait_requests(struct ceph_mds_client *mdsc)
while ((req = __get_oldest_req(mdsc))) {
dout("wait_requests timed out on tid %llu\n",
req->r_tid);
+ list_del_init(&req->r_wait);
__unregister_request(mdsc, req);
}
}