| From | Jiri Slaby <> | Subject | [PATCH 3.12 52/72] ceph: make sure request isn't in any waiting list when kicking request. | Date | Mon, 23 Nov 2015 14:12:13 +0100 |
| |
From: "Yan, Zheng" <ukernel@gmail.com>
3.12-stable review patch. If anyone has any objections, please let me know.
===============
commit 03974e8177b36d672eb59658f976f03cb77c1129 upstream.
we may corrupt waiting list if a request in the waiting list is kicked.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com> Reviewed-by: Sage Weil <sage@redhat.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz> --- fs/ceph/mds_client.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 6f1161324f91..3e07f82a3c9d 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -1985,6 +1985,7 @@ static void kick_requests(struct ceph_mds_client *mdsc, int mds) if (req->r_session && req->r_session->s_mds == mds) { dout(" kicking tid %llu\n", req->r_tid); + list_del_init(&req->r_wait); __do_request(mdsc, req); } } -- 2.6.3
|