aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2011-07-13 19:20:49 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-07-15 09:12:23 -0400
commit9e00abc3c20904fd6a5d888bb7023925799ec8a5 (patch)
treeea6f8749fa21e5b23f02b36c3a82e405b495af0b
parent1f9453578f059d2651aa6c6b16756627fc9f2a74 (diff)
SUNRPC: sunrpc should not explicitly depend on NFS config options
Change explicit references to CONFIG_NFS_V4_1 to implicit ones Get rid of the unnecessary defines in backchannel_rqst.c and bc_svc.c: the Makefile takes care of those dependency. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/Kconfig1
-rw-r--r--include/linux/sunrpc/bc_xprt.h6
-rw-r--r--include/linux/sunrpc/svc.h4
-rw-r--r--include/linux/sunrpc/xprt.h16
-rw-r--r--net/sunrpc/Kconfig4
-rw-r--r--net/sunrpc/Makefile2
-rw-r--r--net/sunrpc/backchannel_rqst.c3
-rw-r--r--net/sunrpc/bc_svc.c3
-rw-r--r--net/sunrpc/clnt.c12
-rw-r--r--net/sunrpc/svc.c4
-rw-r--r--net/sunrpc/svcsock.c14
-rw-r--r--net/sunrpc/xprt.c4
-rw-r--r--net/sunrpc/xprtsock.c6
13 files changed, 39 insertions, 40 deletions
diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
index 81515545ba75..2cde5d954750 100644
--- a/fs/nfs/Kconfig
+++ b/fs/nfs/Kconfig
@@ -77,6 +77,7 @@ config NFS_V4
77config NFS_V4_1 77config NFS_V4_1
78 bool "NFS client support for NFSv4.1 (EXPERIMENTAL)" 78 bool "NFS client support for NFSv4.1 (EXPERIMENTAL)"
79 depends on NFS_FS && NFS_V4 && EXPERIMENTAL 79 depends on NFS_FS && NFS_V4 && EXPERIMENTAL
80 select SUNRPC_BACKCHANNEL
80 select PNFS_FILE_LAYOUT 81 select PNFS_FILE_LAYOUT
81 help 82 help
82 This option enables support for minor version 1 of the NFSv4 protocol 83 This option enables support for minor version 1 of the NFSv4 protocol
diff --git a/include/linux/sunrpc/bc_xprt.h b/include/linux/sunrpc/bc_xprt.h
index 082884295f80..f7f3ce340c08 100644
--- a/include/linux/sunrpc/bc_xprt.h
+++ b/include/linux/sunrpc/bc_xprt.h
@@ -31,7 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31#include <linux/sunrpc/xprt.h> 31#include <linux/sunrpc/xprt.h>
32#include <linux/sunrpc/sched.h> 32#include <linux/sunrpc/sched.h>
33 33
34#ifdef CONFIG_NFS_V4_1 34#ifdef CONFIG_SUNRPC_BACKCHANNEL
35struct rpc_rqst *xprt_alloc_bc_request(struct rpc_xprt *xprt); 35struct rpc_rqst *xprt_alloc_bc_request(struct rpc_xprt *xprt);
36void xprt_free_bc_request(struct rpc_rqst *req); 36void xprt_free_bc_request(struct rpc_rqst *req);
37int xprt_setup_backchannel(struct rpc_xprt *, unsigned int min_reqs); 37int xprt_setup_backchannel(struct rpc_xprt *, unsigned int min_reqs);
@@ -47,7 +47,7 @@ static inline int svc_is_backchannel(const struct svc_rqst *rqstp)
47 return 1; 47 return 1;
48 return 0; 48 return 0;
49} 49}
50#else /* CONFIG_NFS_V4_1 */ 50#else /* CONFIG_SUNRPC_BACKCHANNEL */
51static inline int xprt_setup_backchannel(struct rpc_xprt *xprt, 51static inline int xprt_setup_backchannel(struct rpc_xprt *xprt,
52 unsigned int min_reqs) 52 unsigned int min_reqs)
53{ 53{
@@ -62,6 +62,6 @@ static inline int svc_is_backchannel(const struct svc_rqst *rqstp)
62static inline void xprt_free_bc_request(struct rpc_rqst *req) 62static inline void xprt_free_bc_request(struct rpc_rqst *req)
63{ 63{
64} 64}
65#endif /* CONFIG_NFS_V4_1 */ 65#endif /* CONFIG_SUNRPC_BACKCHANNEL */
66#endif /* _LINUX_SUNRPC_BC_XPRT_H */ 66#endif /* _LINUX_SUNRPC_BC_XPRT_H */
67 67
diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h
index ea29330b78bd..9a3fa7baf4b8 100644
--- a/include/linux/sunrpc/svc.h
+++ b/include/linux/sunrpc/svc.h
@@ -92,7 +92,7 @@ struct svc_serv {
92 struct module * sv_module; /* optional module to count when 92 struct module * sv_module; /* optional module to count when
93 * adding threads */ 93 * adding threads */
94 svc_thread_fn sv_function; /* main function for threads */ 94 svc_thread_fn sv_function; /* main function for threads */
95#if defined(CONFIG_NFS_V4_1) 95#if defined(CONFIG_SUNRPC_BACKCHANNEL)
96 struct list_head sv_cb_list; /* queue for callback requests 96 struct list_head sv_cb_list; /* queue for callback requests
97 * that arrive over the same 97 * that arrive over the same
98 * connection */ 98 * connection */
@@ -100,7 +100,7 @@ struct svc_serv {
100 wait_queue_head_t sv_cb_waitq; /* sleep here if there are no 100 wait_queue_head_t sv_cb_waitq; /* sleep here if there are no
101 * entries in the svc_cb_list */ 101 * entries in the svc_cb_list */
102 struct svc_xprt *sv_bc_xprt; /* callback on fore channel */ 102 struct svc_xprt *sv_bc_xprt; /* callback on fore channel */
103#endif /* CONFIG_NFS_V4_1 */ 103#endif /* CONFIG_SUNRPC_BACKCHANNEL */
104}; 104};
105 105
106/* 106/*
diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h
index 81cce3b3ee66..217b0206581b 100644
--- a/include/linux/sunrpc/xprt.h
+++ b/include/linux/sunrpc/xprt.h
@@ -100,11 +100,11 @@ struct rpc_rqst {
100 ktime_t rq_xtime; /* transmit time stamp */ 100 ktime_t rq_xtime; /* transmit time stamp */
101 int rq_ntrans; 101 int rq_ntrans;
102 102
103#if defined(CONFIG_NFS_V4_1) 103#if defined(CONFIG_SUNRPC_BACKCHANNEL)
104 struct list_head rq_bc_list; /* Callback service list */ 104 struct list_head rq_bc_list; /* Callback service list */
105 unsigned long rq_bc_pa_state; /* Backchannel prealloc state */ 105 unsigned long rq_bc_pa_state; /* Backchannel prealloc state */
106 struct list_head rq_bc_pa_list; /* Backchannel prealloc list */ 106 struct list_head rq_bc_pa_list; /* Backchannel prealloc list */
107#endif /* CONFIG_NFS_V4_1 */ 107#endif /* CONFIG_SUNRPC_BACKCHANEL */
108}; 108};
109#define rq_svec rq_snd_buf.head 109#define rq_svec rq_snd_buf.head
110#define rq_slen rq_snd_buf.len 110#define rq_slen rq_snd_buf.len
@@ -200,7 +200,7 @@ struct rpc_xprt {
200 u32 xid; /* Next XID value to use */ 200 u32 xid; /* Next XID value to use */
201 struct rpc_task * snd_task; /* Task blocked in send */ 201 struct rpc_task * snd_task; /* Task blocked in send */
202 struct svc_xprt *bc_xprt; /* NFSv4.1 backchannel */ 202 struct svc_xprt *bc_xprt; /* NFSv4.1 backchannel */
203#if defined(CONFIG_NFS_V4_1) 203#if defined(CONFIG_SUNRPC_BACKCHANNEL)
204 struct svc_serv *bc_serv; /* The RPC service which will */ 204 struct svc_serv *bc_serv; /* The RPC service which will */
205 /* process the callback */ 205 /* process the callback */
206 unsigned int bc_alloc_count; /* Total number of preallocs */ 206 unsigned int bc_alloc_count; /* Total number of preallocs */
@@ -208,7 +208,7 @@ struct rpc_xprt {
208 * items */ 208 * items */
209 struct list_head bc_pa_list; /* List of preallocated 209 struct list_head bc_pa_list; /* List of preallocated
210 * backchannel rpc_rqst's */ 210 * backchannel rpc_rqst's */
211#endif /* CONFIG_NFS_V4_1 */ 211#endif /* CONFIG_SUNRPC_BACKCHANNEL */
212 struct list_head recv; 212 struct list_head recv;
213 213
214 struct { 214 struct {
@@ -228,15 +228,15 @@ struct rpc_xprt {
228 const char *address_strings[RPC_DISPLAY_MAX]; 228 const char *address_strings[RPC_DISPLAY_MAX];
229}; 229};
230 230
231#if defined(CONFIG_NFS_V4_1) 231#if defined(CONFIG_SUNRPC_BACKCHANNEL)
232/* 232/*
233 * Backchannel flags 233 * Backchannel flags
234 */ 234 */
235#define RPC_BC_PA_IN_USE 0x0001 /* Preallocated backchannel */ 235#define RPC_BC_PA_IN_USE 0x0001 /* Preallocated backchannel */
236 /* buffer in use */ 236 /* buffer in use */
237#endif /* CONFIG_NFS_V4_1 */ 237#endif /* CONFIG_SUNRPC_BACKCHANNEL */
238 238
239#if defined(CONFIG_NFS_V4_1) 239#if defined(CONFIG_SUNRPC_BACKCHANNEL)
240static inline int bc_prealloc(struct rpc_rqst *req) 240static inline int bc_prealloc(struct rpc_rqst *req)
241{ 241{
242 return test_bit(RPC_BC_PA_IN_USE, &req->rq_bc_pa_state); 242 return test_bit(RPC_BC_PA_IN_USE, &req->rq_bc_pa_state);
@@ -246,7 +246,7 @@ static inline int bc_prealloc(struct rpc_rqst *req)
246{ 246{
247 return 0; 247 return 0;
248} 248}
249#endif /* CONFIG_NFS_V4_1 */ 249#endif /* CONFIG_SUNRPC_BACKCHANNEL */
250 250
251struct xprt_create { 251struct xprt_create {
252 int ident; /* XPRT_TRANSPORT identifier */ 252 int ident; /* XPRT_TRANSPORT identifier */
diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
index b2198e65d8bb..ffd243d09188 100644
--- a/net/sunrpc/Kconfig
+++ b/net/sunrpc/Kconfig
@@ -4,6 +4,10 @@ config SUNRPC
4config SUNRPC_GSS 4config SUNRPC_GSS
5 tristate 5 tristate
6 6
7config SUNRPC_BACKCHANNEL
8 bool
9 depends on SUNRPC
10
7config SUNRPC_XPRT_RDMA 11config SUNRPC_XPRT_RDMA
8 tristate 12 tristate
9 depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS && EXPERIMENTAL 13 depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS && EXPERIMENTAL
diff --git a/net/sunrpc/Makefile b/net/sunrpc/Makefile
index 9d2fca5ad14a..8209a0411bca 100644
--- a/net/sunrpc/Makefile
+++ b/net/sunrpc/Makefile
@@ -13,6 +13,6 @@ sunrpc-y := clnt.o xprt.o socklib.o xprtsock.o sched.o \
13 addr.o rpcb_clnt.o timer.o xdr.o \ 13 addr.o rpcb_clnt.o timer.o xdr.o \
14 sunrpc_syms.o cache.o rpc_pipe.o \ 14 sunrpc_syms.o cache.o rpc_pipe.o \
15 svc_xprt.o 15 svc_xprt.o
16sunrpc-$(CONFIG_NFS_V4_1) += backchannel_rqst.o bc_svc.o 16sunrpc-$(CONFIG_SUNRPC_BACKCHANNEL) += backchannel_rqst.o bc_svc.o
17sunrpc-$(CONFIG_PROC_FS) += stats.o 17sunrpc-$(CONFIG_PROC_FS) += stats.o
18sunrpc-$(CONFIG_SYSCTL) += sysctl.o 18sunrpc-$(CONFIG_SYSCTL) += sysctl.o
diff --git a/net/sunrpc/backchannel_rqst.c b/net/sunrpc/backchannel_rqst.c
index cf06af3b63c6..bb5593f467cb 100644
--- a/net/sunrpc/backchannel_rqst.c
+++ b/net/sunrpc/backchannel_rqst.c
@@ -29,8 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29#define RPCDBG_FACILITY RPCDBG_TRANS 29#define RPCDBG_FACILITY RPCDBG_TRANS
30#endif 30#endif
31 31
32#if defined(CONFIG_NFS_V4_1)
33
34/* 32/*
35 * Helper routines that track the number of preallocation elements 33 * Helper routines that track the number of preallocation elements
36 * on the transport. 34 * on the transport.
@@ -279,4 +277,3 @@ void xprt_free_bc_request(struct rpc_rqst *req)
279 spin_unlock_bh(&xprt->bc_pa_lock); 277 spin_unlock_bh(&xprt->bc_pa_lock);
280} 278}
281 279
282#endif /* CONFIG_NFS_V4_1 */
diff --git a/net/sunrpc/bc_svc.c b/net/sunrpc/bc_svc.c
index 1dd1a6890007..0b2eb388cbda 100644
--- a/net/sunrpc/bc_svc.c
+++ b/net/sunrpc/bc_svc.c
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 * reply over an existing open connection previously established by the client. 27 * reply over an existing open connection previously established by the client.
28 */ 28 */
29 29
30#if defined(CONFIG_NFS_V4_1)
31
32#include <linux/module.h> 30#include <linux/module.h>
33 31
34#include <linux/sunrpc/xprt.h> 32#include <linux/sunrpc/xprt.h>
@@ -63,4 +61,3 @@ int bc_send(struct rpc_rqst *req)
63 return ret; 61 return ret;
64} 62}
65 63
66#endif /* CONFIG_NFS_V4_1 */
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 64c3fe11aff6..d3fe866f57ac 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -64,9 +64,9 @@ static void call_decode(struct rpc_task *task);
64static void call_bind(struct rpc_task *task); 64static void call_bind(struct rpc_task *task);
65static void call_bind_status(struct rpc_task *task); 65static void call_bind_status(struct rpc_task *task);
66static void call_transmit(struct rpc_task *task); 66static void call_transmit(struct rpc_task *task);
67#if defined(CONFIG_NFS_V4_1) 67#if defined(CONFIG_SUNRPC_BACKCHANNEL)
68static void call_bc_transmit(struct rpc_task *task); 68static void call_bc_transmit(struct rpc_task *task);
69#endif /* CONFIG_NFS_V4_1 */ 69#endif /* CONFIG_SUNRPC_BACKCHANNEL */
70static void call_status(struct rpc_task *task); 70static void call_status(struct rpc_task *task);
71static void call_transmit_status(struct rpc_task *task); 71static void call_transmit_status(struct rpc_task *task);
72static void call_refresh(struct rpc_task *task); 72static void call_refresh(struct rpc_task *task);
@@ -716,7 +716,7 @@ rpc_call_async(struct rpc_clnt *clnt, const struct rpc_message *msg, int flags,
716} 716}
717EXPORT_SYMBOL_GPL(rpc_call_async); 717EXPORT_SYMBOL_GPL(rpc_call_async);
718 718
719#if defined(CONFIG_NFS_V4_1) 719#if defined(CONFIG_SUNRPC_BACKCHANNEL)
720/** 720/**
721 * rpc_run_bc_task - Allocate a new RPC task for backchannel use, then run 721 * rpc_run_bc_task - Allocate a new RPC task for backchannel use, then run
722 * rpc_execute against it 722 * rpc_execute against it
@@ -759,7 +759,7 @@ out:
759 dprintk("RPC: rpc_run_bc_task: task= %p\n", task); 759 dprintk("RPC: rpc_run_bc_task: task= %p\n", task);
760 return task; 760 return task;
761} 761}
762#endif /* CONFIG_NFS_V4_1 */ 762#endif /* CONFIG_SUNRPC_BACKCHANNEL */
763 763
764void 764void
765rpc_call_start(struct rpc_task *task) 765rpc_call_start(struct rpc_task *task)
@@ -1362,7 +1362,7 @@ call_transmit_status(struct rpc_task *task)
1362 } 1362 }
1363} 1363}
1364 1364
1365#if defined(CONFIG_NFS_V4_1) 1365#if defined(CONFIG_SUNRPC_BACKCHANNEL)
1366/* 1366/*
1367 * 5b. Send the backchannel RPC reply. On error, drop the reply. In 1367 * 5b. Send the backchannel RPC reply. On error, drop the reply. In
1368 * addition, disconnect on connectivity errors. 1368 * addition, disconnect on connectivity errors.
@@ -1426,7 +1426,7 @@ call_bc_transmit(struct rpc_task *task)
1426 } 1426 }
1427 rpc_wake_up_queued_task(&req->rq_xprt->pending, task); 1427 rpc_wake_up_queued_task(&req->rq_xprt->pending, task);
1428} 1428}
1429#endif /* CONFIG_NFS_V4_1 */ 1429#endif /* CONFIG_SUNRPC_BACKCHANNEL */
1430 1430
1431/* 1431/*
1432 * 6. Sort out the RPC call status 1432 * 6. Sort out the RPC call status
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index 2b90292e9505..3c6fe222dec6 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -1252,7 +1252,7 @@ svc_process(struct svc_rqst *rqstp)
1252 } 1252 }
1253} 1253}
1254 1254
1255#if defined(CONFIG_NFS_V4_1) 1255#if defined(CONFIG_SUNRPC_BACKCHANNEL)
1256/* 1256/*
1257 * Process a backchannel RPC request that arrived over an existing 1257 * Process a backchannel RPC request that arrived over an existing
1258 * outbound connection 1258 * outbound connection
@@ -1301,7 +1301,7 @@ bc_svc_process(struct svc_serv *serv, struct rpc_rqst *req,
1301 } 1301 }
1302} 1302}
1303EXPORT_SYMBOL(bc_svc_process); 1303EXPORT_SYMBOL(bc_svc_process);
1304#endif /* CONFIG_NFS_V4_1 */ 1304#endif /* CONFIG_SUNRPC_BACKCHANNEL */
1305 1305
1306/* 1306/*
1307 * Return (transport-specific) limit on the rpc payload. 1307 * Return (transport-specific) limit on the rpc payload.
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index af04f779ce9f..a1812a295388 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -66,12 +66,12 @@ static void svc_sock_free(struct svc_xprt *);
66static struct svc_xprt *svc_create_socket(struct svc_serv *, int, 66static struct svc_xprt *svc_create_socket(struct svc_serv *, int,
67 struct net *, struct sockaddr *, 67 struct net *, struct sockaddr *,
68 int, int); 68 int, int);
69#if defined(CONFIG_NFS_V4_1) 69#if defined(CONFIG_SUNRPC_BACKCHANNEL)
70static struct svc_xprt *svc_bc_create_socket(struct svc_serv *, int, 70static struct svc_xprt *svc_bc_create_socket(struct svc_serv *, int,
71 struct net *, struct sockaddr *, 71 struct net *, struct sockaddr *,
72 int, int); 72 int, int);
73static void svc_bc_sock_free(struct svc_xprt *xprt); 73static void svc_bc_sock_free(struct svc_xprt *xprt);
74#endif /* CONFIG_NFS_V4_1 */ 74#endif /* CONFIG_SUNRPC_BACKCHANNEL */
75 75
76#ifdef CONFIG_DEBUG_LOCK_ALLOC 76#ifdef CONFIG_DEBUG_LOCK_ALLOC
77static struct lock_class_key svc_key[2]; 77static struct lock_class_key svc_key[2];
@@ -1241,7 +1241,7 @@ static struct svc_xprt *svc_tcp_create(struct svc_serv *serv,
1241 return svc_create_socket(serv, IPPROTO_TCP, net, sa, salen, flags); 1241 return svc_create_socket(serv, IPPROTO_TCP, net, sa, salen, flags);
1242} 1242}
1243 1243
1244#if defined(CONFIG_NFS_V4_1) 1244#if defined(CONFIG_SUNRPC_BACKCHANNEL)
1245static struct svc_xprt *svc_bc_create_socket(struct svc_serv *, int, 1245static struct svc_xprt *svc_bc_create_socket(struct svc_serv *, int,
1246 struct net *, struct sockaddr *, 1246 struct net *, struct sockaddr *,
1247 int, int); 1247 int, int);
@@ -1282,7 +1282,7 @@ static void svc_cleanup_bc_xprt_sock(void)
1282{ 1282{
1283 svc_unreg_xprt_class(&svc_tcp_bc_class); 1283 svc_unreg_xprt_class(&svc_tcp_bc_class);
1284} 1284}
1285#else /* CONFIG_NFS_V4_1 */ 1285#else /* CONFIG_SUNRPC_BACKCHANNEL */
1286static void svc_init_bc_xprt_sock(void) 1286static void svc_init_bc_xprt_sock(void)
1287{ 1287{
1288} 1288}
@@ -1290,7 +1290,7 @@ static void svc_init_bc_xprt_sock(void)
1290static void svc_cleanup_bc_xprt_sock(void) 1290static void svc_cleanup_bc_xprt_sock(void)
1291{ 1291{
1292} 1292}
1293#endif /* CONFIG_NFS_V4_1 */ 1293#endif /* CONFIG_SUNRPC_BACKCHANNEL */
1294 1294
1295static struct svc_xprt_ops svc_tcp_ops = { 1295static struct svc_xprt_ops svc_tcp_ops = {
1296 .xpo_create = svc_tcp_create, 1296 .xpo_create = svc_tcp_create,
@@ -1621,7 +1621,7 @@ static void svc_sock_free(struct svc_xprt *xprt)
1621 kfree(svsk); 1621 kfree(svsk);
1622} 1622}
1623 1623
1624#if defined(CONFIG_NFS_V4_1) 1624#if defined(CONFIG_SUNRPC_BACKCHANNEL)
1625/* 1625/*
1626 * Create a back channel svc_xprt which shares the fore channel socket. 1626 * Create a back channel svc_xprt which shares the fore channel socket.
1627 */ 1627 */
@@ -1660,4 +1660,4 @@ static void svc_bc_sock_free(struct svc_xprt *xprt)
1660 if (xprt) 1660 if (xprt)
1661 kfree(container_of(xprt, struct svc_sock, sk_xprt)); 1661 kfree(container_of(xprt, struct svc_sock, sk_xprt));
1662} 1662}
1663#endif /* CONFIG_NFS_V4_1 */ 1663#endif /* CONFIG_SUNRPC_BACKCHANNEL */
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c
index ce5eb68a9664..fbdbaf2cd58d 100644
--- a/net/sunrpc/xprt.c
+++ b/net/sunrpc/xprt.c
@@ -1111,10 +1111,10 @@ found:
1111 1111
1112 INIT_LIST_HEAD(&xprt->free); 1112 INIT_LIST_HEAD(&xprt->free);
1113 INIT_LIST_HEAD(&xprt->recv); 1113 INIT_LIST_HEAD(&xprt->recv);
1114#if defined(CONFIG_NFS_V4_1) 1114#if defined(CONFIG_SUNRPC_BACKCHANNEL)
1115 spin_lock_init(&xprt->bc_pa_lock); 1115 spin_lock_init(&xprt->bc_pa_lock);
1116 INIT_LIST_HEAD(&xprt->bc_pa_list); 1116 INIT_LIST_HEAD(&xprt->bc_pa_list);
1117#endif /* CONFIG_NFS_V4_1 */ 1117#endif /* CONFIG_SUNRPC_BACKCHANNEL */
1118 1118
1119 INIT_WORK(&xprt->task_cleanup, xprt_autoclose); 1119 INIT_WORK(&xprt->task_cleanup, xprt_autoclose);
1120 if (xprt_has_timer(xprt)) 1120 if (xprt_has_timer(xprt))
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 72abb7358933..cd6c410fa8fa 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -37,7 +37,7 @@
37#include <linux/sunrpc/svcsock.h> 37#include <linux/sunrpc/svcsock.h>
38#include <linux/sunrpc/xprtsock.h> 38#include <linux/sunrpc/xprtsock.h>
39#include <linux/file.h> 39#include <linux/file.h>
40#ifdef CONFIG_NFS_V4_1 40#ifdef CONFIG_SUNRPC_BACKCHANNEL
41#include <linux/sunrpc/bc_xprt.h> 41#include <linux/sunrpc/bc_xprt.h>
42#endif 42#endif
43 43
@@ -1236,7 +1236,7 @@ static inline int xs_tcp_read_reply(struct rpc_xprt *xprt,
1236 return 0; 1236 return 0;
1237} 1237}
1238 1238
1239#if defined(CONFIG_NFS_V4_1) 1239#if defined(CONFIG_SUNRPC_BACKCHANNEL)
1240/* 1240/*
1241 * Obtains an rpc_rqst previously allocated and invokes the common 1241 * Obtains an rpc_rqst previously allocated and invokes the common
1242 * tcp read code to read the data. The result is placed in the callback 1242 * tcp read code to read the data. The result is placed in the callback
@@ -1299,7 +1299,7 @@ static inline int _xs_tcp_read_data(struct rpc_xprt *xprt,
1299{ 1299{
1300 return xs_tcp_read_reply(xprt, desc); 1300 return xs_tcp_read_reply(xprt, desc);
1301} 1301}
1302#endif /* CONFIG_NFS_V4_1 */ 1302#endif /* CONFIG_SUNRPC_BACKCHANNEL */
1303 1303
1304/* 1304/*
1305 * Read data off the transport. This can be either an RPC_CALL or an 1305 * Read data off the transport. This can be either an RPC_CALL or an