[PATCH 08/14] SQUASHME: Removal of ugly #ifdefs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[squash with: nfs41: Implement NFSv4.1 callback service process]

Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@xxxxxxxxxx>
---
 fs/nfs/callback.c |   50 +++++++++++++++++++++++++++++++++++---------------
 1 files changed, 35 insertions(+), 15 deletions(-)

diff --git a/fs/nfs/callback.c b/fs/nfs/callback.c
index 4395c96..116424e 100644
--- a/fs/nfs/callback.c
+++ b/fs/nfs/callback.c
@@ -209,6 +209,39 @@ out:
 	dprintk("--> %s return %p\n", __func__, rqstp);
 	return rqstp;
 }
+
+static inline void nfs_callback_svc_setup(u32 minorversion,
+		struct svc_serv *serv, struct rpc_xprt *xprt,
+		struct svc_rqst **rqstpp, int (**callback_svc)(void *vrqstp))
+{
+	if (minorversion) {
+		*rqstpp = nfs41_callback_up(serv, xprt);
+		*callback_svc = nfs41_callback_svc;
+	} else {
+		*rqstpp = nfs4_callback_up(serv);
+		*callback_svc = nfs4_callback_svc;
+	}
+}
+
+static inline void nfs_callback_bc_serv(u32 minorversion, struct rpc_xprt *xprt,
+		struct nfs_callback_data *cb_info)
+{
+	if (minorversion)
+		xprt->bc_serv = cb_info->serv;
+}
+#else
+static inline void nfs_callback_svc_setup(u32 minorversion,
+		struct svc_serv *serv, struct rpc_xprt *xprt,
+		struct svc_rqst **rqstpp, int (**callback_svc)(void *vrqstp))
+{
+	*rqstpp = nfs4_callback_up(serv);
+	*callback_svc = nfs4_callback_svc;
+}
+
+static inline void nfs_callback_bc_serv(u32 minorversion, struct rpc_xprt *xprt,
+		struct nfs_callback_data *cb_info)
+{
+}
 #endif /* CONFIG_NFS_V4_1 */
 
 /*
@@ -225,10 +258,7 @@ int nfs_callback_up(u32 minorversion, struct rpc_xprt *xprt)
 
 	mutex_lock(&nfs_callback_mutex);
 	if (cb_info->users++ || cb_info->task != NULL) {
-#if defined(CONFIG_NFS_V4_1)
-		if (minorversion)
-			xprt->bc_serv = cb_info->serv;
-#endif /* CONFIG_NFS_V4_1 */
+		nfs_callback_bc_serv(minorversion, xprt, cb_info);
 		goto out;
 	}
 	serv = svc_create(&nfs4_callback_program, NFS4_CALLBACK_BUFSIZE, NULL);
@@ -239,17 +269,7 @@ int nfs_callback_up(u32 minorversion, struct rpc_xprt *xprt)
 
 	/* FIXME: either 4.0 or 4.1 callback service can be up at a time
 	 * need to monitor and control them both */
-	if (!minorversion) {
-		rqstp = nfs4_callback_up(serv);
-		callback_svc = nfs4_callback_svc;
-	} else {
-#if defined(CONFIG_NFS_V4_1)
-		rqstp = nfs41_callback_up(serv, xprt);
-		callback_svc = nfs41_callback_svc;
-#else  /* CONFIG_NFS_V4_1 */
-		BUG();
-#endif /* CONFIG_NFS_V4_1 */
-	}
+	nfs_callback_svc_setup(minorversion, serv, xprt, &rqstp, &callback_svc);
 
 	if (IS_ERR(rqstp)) {
 		ret = PTR_ERR(rqstp);
-- 
1.5.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux