)]}'
{
  "commit": "c526611dd631b2802b6b0221ffb306c5fa25c86c",
  "tree": "909f241683fbe848b484cef24a77d716c486d25c",
  "parents": [
    "5a46211540a83871196489247f57da2bdde58d87"
  ],
  "author": {
    "name": "Chuck Lever",
    "email": "chuck.lever@oracle.com",
    "time": "Thu Dec 03 15:58:56 2009 -0500"
  },
  "committer": {
    "name": "Trond Myklebust",
    "email": "Trond.Myklebust@netapp.com",
    "time": "Thu Dec 03 15:58:56 2009 -0500"
  },
  "message": "SUNRPC: Use a cached RPC client and transport for rpcbind upcalls\n\nThe kernel\u0027s rpcbind client creates and deletes an rpc_clnt and its\nunderlying transport socket for every upcall to the local rpcbind\ndaemon.\n\nWhen starting a typical NFS server on IPv4 and IPv6, the NFS service\nitself does three upcalls (one per version) times two upcalls (one\nper transport) times two upcalls (one per address family), making 12,\nplus another one for the initial call to unregister previous NFS\nservices.  Starting the NLM service adds an additional 13 upcalls,\nfor similar reasons.\n\n(Currently the NFS service doesn\u0027t start IPv6 listeners, but it will\nsoon enough).\n\nInstead, let\u0027s create an rpc_clnt for rpcbind upcalls during the\nfirst local rpcbind query, and cache it.  This saves the overhead of\ncreating and destroying an rpc_clnt and a socket for every upcall.\n\nThe new logic also prevents the kernel from attempting an RPCB_SET or\nRPCB_UNSET if it knows from the start that the local portmapper does\nnot support rpcbind protocol version 4.  This will cut down on the\nnumber of rpcbind upcalls in legacy environments.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "28f50da60ceb276a09bf71c3382a48c71e90f8ca",
      "old_mode": 33188,
      "old_path": "net/sunrpc/rpcb_clnt.c",
      "new_id": "116db74dd942d8d04b40ba4a5eb4b1258224b1d6",
      "new_mode": 33188,
      "new_path": "net/sunrpc/rpcb_clnt.c"
    },
    {
      "type": "modify",
      "old_id": "8cce92189019c7e8d73cc874820a88187067de22",
      "old_mode": 33188,
      "old_path": "net/sunrpc/sunrpc_syms.c",
      "new_id": "f438347d817b2bb5889ea6d364db5abeceb819e9",
      "new_mode": 33188,
      "new_path": "net/sunrpc/sunrpc_syms.c"
    }
  ]
}
