Home Home > GIT Browse > SLE12-SP5-AZURE
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Henriques <lhenriques@suse.com>2019-08-27 11:14:09 +0100
committerLuis Henriques <lhenriques@suse.com>2019-09-05 10:07:45 +0100
commitb097a5c404ca86652faf048dbeebf729500f4b69 (patch)
tree3e68d55b360607e2dc0cb81bf3e87dcb510ad69e
parent4a91d87bb8d6e3f0d2985cde64578f3aa1459e15 (diff)
ceph: remove request from waiting list before unregister
(bsc#1148133).
-rw-r--r--patches.suse/ceph-remove-request-from-waiting-list-before-unregister.patch37
-rw-r--r--series.conf1
2 files changed, 38 insertions, 0 deletions
diff --git a/patches.suse/ceph-remove-request-from-waiting-list-before-unregister.patch b/patches.suse/ceph-remove-request-from-waiting-list-before-unregister.patch
new file mode 100644
index 0000000000..8f6074ae19
--- /dev/null
+++ b/patches.suse/ceph-remove-request-from-waiting-list-before-unregister.patch
@@ -0,0 +1,37 @@
+From: "Yan, Zheng" <zyan@redhat.com>
+Date: Fri, 14 Jun 2019 10:55:05 +0800
+Subject: ceph: remove request from waiting list before unregister
+Git-commit: 428138c9892fac19a682973bbb6d8c2a904b6639
+Patch-mainline: v5.3-rc1
+References: bsc#1148133
+
+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>
+Acked-by: Luis Henriques <lhenriques@suse.com>
+---
+ fs/ceph/mds_client.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
+index fcea46a54622..598a3fa280a7 100644
+--- 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);
+ }
+ }
+
diff --git a/series.conf b/series.conf
index 3eca9b01e8..5f95cef9c3 100644
--- a/series.conf
+++ b/series.conf
@@ -23914,6 +23914,7 @@
patches.suse/ceph-fix-ceph-dir-rctime-vxattr-value.patch
patches.suse/ceph-fix-improper-use-of-smp_mb__before_atomic.patch
patches.suse/ceph-don-t-blindly-unregister-session-that-is-in-opening-state.patch
+ patches.suse/ceph-remove-request-from-waiting-list-before-unregister.patch
patches.suse/cifs-Use-kmemdup-in-SMB2_ioctl_init-.patch
patches.suse/fs-cifs-Drop-unlikely-before-IS_ERR-_OR_NULL-.patch
patches.suse/SMB3-Add-SMB3-1-1-GCM-to-negotiated-crypto-algorigthms.patch