/* In the case where rpc clients have been cloned, we want to make sure that we use the program number/version etc of the actual owner of the xprt. To do so, we walk back up the tree of parents to find whoever created the transport and/or whoever has the autobind flag set.  */
static struct rpc_clnt* rpcb_find_transport_owner(struct rpc_clnt *clnt)
/* In the case where rpc clients have been cloned, we want to make sure that we use the program number/version etc of the actual owner of the xprt. To do so, we walk back up the tree of parents to find whoever created the transport and/or whoever has the autobind flag set.  */
static struct rpc_clnt* rpcb_find_transport_owner(struct rpc_clnt *clnt)
{
	struct rpc_clnt *parent = clnt->cl_parent;
	while (parent != clnt) {
		if (parent->cl_xprt != clnt->cl_xprt)
			break;
		if (clnt->cl_autobind)
			break;
		clnt = parent;
		parent = parent->cl_parent;
	}
	return clnt;
}