NeilBrown 12e4f2
From: NeilBrown <neilb@suse.de>
NeilBrown 12e4f2
Subject: kabi ix for SUNRPC: defer slow parts of rpc_free_client() to a workqueue.
NeilBrown 12e4f2
Patch-mainline: never, kabi
NeilBrown 12e4f2
References: bsc#1168202 bsc#1188924
NeilBrown 12e4f2
NeilBrown 12e4f2
cl_work is an internal-use field which isn't needed in kabi.
NeilBrown 12e4f2
cl_work is LARGER than cl_xpi, so this changes the size of rpc_clnt and moves
NeilBrown 12e4f2
cl_cred.  All of these details are of no interest to modules so this should be safe.
NeilBrown 12e4f2
NeilBrown 12e4f2
Acked-by: NeilBrown <neilb@suse.com>
NeilBrown 12e4f2
Signed-off-by: Neil Brown <neilb@suse.com>
NeilBrown 12e4f2
NeilBrown 12e4f2
---
NeilBrown 12e4f2
 include/linux/sunrpc/clnt.h |    4 ++++
NeilBrown 12e4f2
 1 file changed, 4 insertions(+)
NeilBrown 12e4f2
NeilBrown 12e4f2
--- a/include/linux/sunrpc/clnt.h
NeilBrown 12e4f2
+++ b/include/linux/sunrpc/clnt.h
NeilBrown 12e4f2
@@ -71,6 +71,9 @@ struct rpc_clnt {
NeilBrown 12e4f2
 #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
NeilBrown 12e4f2
 	struct dentry		*cl_debugfs;	/* debugfs directory */
NeilBrown 12e4f2
 #endif
NeilBrown 12e4f2
+#ifdef __GENKSYMS__
NeilBrown 12e4f2
+	struct rpc_xprt_iter	cl_xpi;
NeilBrown 12e4f2
+#else
NeilBrown 12e4f2
 	/* cl_work is only needed after cl_xpi is no longer used,
NeilBrown 12e4f2
 	 * and that are of similar size
NeilBrown 12e4f2
 	 */
NeilBrown 12e4f2
@@ -78,6 +81,7 @@ struct rpc_clnt {
NeilBrown 12e4f2
 		struct rpc_xprt_iter	cl_xpi;
NeilBrown 12e4f2
 		struct work_struct	cl_work;
NeilBrown 12e4f2
 	};
NeilBrown 12e4f2
+#endif
NeilBrown 12e4f2
 	const struct cred	*cl_cred;
NeilBrown 12e4f2
 };
NeilBrown 12e4f2