rpcb_clnt.c (ad01b2c68d0ac5f3d4a3f807bec77b720b1c62a0) rpcb_clnt.c (fb43d17210baa538e58fc83d2d0f8a32399db73b)
1/*
2 * In-kernel rpcbind client supporting versions 2, 3, and 4 of the rpcbind
3 * protocol
4 *
5 * Based on RFC 1833: "Binding Protocols for ONC RPC Version 2" and
6 * RFC 3530: "Network File System (NFS) version 4 Protocol"
7 *
8 * Original: Gilles Quillard, Bull Open Source, 2005 <gilles.quillard@bull.net>

--- 669 unchanged lines hidden (view full) ---

678 struct rpcbind_args *map;
679 struct rpc_task *child;
680 struct sockaddr_storage addr;
681 struct sockaddr *sap = (struct sockaddr *)&addr;
682 size_t salen;
683 int status;
684
685 rcu_read_lock();
1/*
2 * In-kernel rpcbind client supporting versions 2, 3, and 4 of the rpcbind
3 * protocol
4 *
5 * Based on RFC 1833: "Binding Protocols for ONC RPC Version 2" and
6 * RFC 3530: "Network File System (NFS) version 4 Protocol"
7 *
8 * Original: Gilles Quillard, Bull Open Source, 2005 <gilles.quillard@bull.net>

--- 669 unchanged lines hidden (view full) ---

678 struct rpcbind_args *map;
679 struct rpc_task *child;
680 struct sockaddr_storage addr;
681 struct sockaddr *sap = (struct sockaddr *)&addr;
682 size_t salen;
683 int status;
684
685 rcu_read_lock();
686 do {
687 clnt = rpcb_find_transport_owner(task->tk_client);
688 xprt = xprt_get(rcu_dereference(clnt->cl_xprt));
689 } while (xprt == NULL);
686 clnt = rpcb_find_transport_owner(task->tk_client);
690 rcu_read_unlock();
687 rcu_read_unlock();
688 xprt = xprt_get(task->tk_xprt);
691
692 dprintk("RPC: %5u %s(%s, %u, %u, %d)\n",
693 task->tk_pid, __func__,
694 xprt->servername, clnt->cl_prog, clnt->cl_vers, xprt->prot);
695
696 /* Put self on the wait queue to ensure we get notified if
697 * some other task is already attempting to bind the port */
698 rpc_sleep_on(&xprt->binding, task, NULL);

--- 453 unchanged lines hidden ---
689
690 dprintk("RPC: %5u %s(%s, %u, %u, %d)\n",
691 task->tk_pid, __func__,
692 xprt->servername, clnt->cl_prog, clnt->cl_vers, xprt->prot);
693
694 /* Put self on the wait queue to ensure we get notified if
695 * some other task is already attempting to bind the port */
696 rpc_sleep_on(&xprt->binding, task, NULL);

--- 453 unchanged lines hidden ---