)]}'
{
  "log": [
    {
      "commit": "233607dbbc823caf685e778cabc49fb7f679900b",
      "tree": "13840137ee10788061cbec60fcfe8ea4c274558e",
      "parents": [
        "3dc5063786b273f1aee545844f6bd4e9651ebffe",
        "b48633bd086d21f4a2a5bea96c7e6c7ba58eb60c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 14:01:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 14:01:02 2008 -0400"
      },
      "message": "Merge branch \u0027devel\u0027\n"
    },
    {
      "commit": "7c1d71cf56feebfb5b98219b9d11dfc3a2feca62",
      "tree": "5a073d987ec79900b2aff217a226c8c78e94b579",
      "parents": [
        "636ac43318ce6939c1698fb67e714d421314ed71"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 17 16:52:57 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:12 2008 -0400"
      },
      "message": "SUNRPC: Don\u0027t disconnect more than once if retransmitting NFSv4 requests\n\nNFSv4 requires us to ensure that we break the TCP connection before we\u0027re\nallowed to retransmit a request. However in the case where we\u0027re\nretransmitting several requests that have been sent on the same\nconnection, we need to ensure that we don\u0027t interfere with the attempt to\nreconnect and/or break the connection again once it has been established.\n\nWe therefore introduce a \u0027connection\u0027 cookie that is bumped every time a\nconnection is broken. This allows requests to track if they need to force a\ndisconnection.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "06b4b681ababc20596aa947595714710f557131d",
      "tree": "84a437ee1922b63931075faf389db87650e0ca79",
      "parents": [
        "d2b831416365e8b1f27809b62d5e4260883956cc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 16 16:51:38 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:05 2008 -0400"
      },
      "message": "SUNRPC: remove XS_SENDMSG_RETRY\n\nThe condition for exiting from the loop in xs_tcp_send_request() should be\nthat we find we\u0027re not making progress (i.e. number of bytes sent is 0).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b6ddf64ffe9d59577a9176856bb6fe69a539f573",
      "tree": "dd12c31555cf9449dd6094428d377186b3c4c373",
      "parents": [
        "24b74bf0c9e08cbda74d3c64af69ad402ed54e04"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 17 18:52:19 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:52:44 2008 -0400"
      },
      "message": "SUNRPC: Fix up xprt_write_space()\n\nThe rest of the networking layer uses SOCK_ASYNC_NOSPACE to signal whether\nor not we have someone waiting for buffer memory. Convert the SUNRPC layer\nto use the same idiom.\nRemove the unlikely()s in xs_udp_write_space and xs_tcp_write_space. In\nfact, the most common case will be that there is nobody waiting for buffer\nspace.\n\nSOCK_NOSPACE is there to tell the TCP layer whether or not the cwnd was\nlimited by the application window. Ensure that we follow the same idiom as\nthe rest of the networking layer here too.\n\nFinally, ensure that we clear SOCK_ASYNC_NOSPACE once we wake up, so that\nwrite_space() doesn\u0027t keep waking things up on xprt-\u003epending.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0dc47877a3de00ceadea0005189656ae8dc52669",
      "tree": "7440a87385fe318cb42f0ae161be195f5e967d82",
      "parents": [
        "6387c4bed539539b05fa773cf2ff26529dc3074c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Mar 05 20:47:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 20:47:47 2008 -0800"
      },
      "message": "net: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff2d7db848f8db7cade39e55f78f86d77e0de01a",
      "tree": "fb40ecbcad821ec6e31f4324c0483e13242f36c7",
      "parents": [
        "f5fb7b06e4e4ab18326f067f4317b2016ce18af2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:51 2008 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:26:27 2008 -0800"
      },
      "message": "SUNRPC: Ensure that we read all available tcp data\n\nDon\u0027t stop until we run out of data, or we hit an error.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "33e01dc7f578813cda074ceaeaf68b0f3ffcc393",
      "tree": "a1a84d98ae900b8960bd59742f1e2b767e7cb4f8",
      "parents": [
        "c0e07cb68db353c0ffbb0f82401cf6d79c253aed"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jan 14 12:32:20 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:08 2008 -0500"
      },
      "message": "SUNRPC: Clean up functions that free address_strings array\n\nClean up: document the rule (kfree) and the exceptions\n(RPC_DISPLAY_PROTO and RPC_DISPLAY_NETID) when freeing the objects in\na transport\u0027s address_strings array.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b454ae906085cf7774fb4756746680c9b03b6f84",
      "tree": "c5f84a9524dd7a9c7470ef0782e2d79df94d3f5e",
      "parents": [
        "cab6fc1b77c3ec4471d7d54ff6db9ad2dd59c2f5"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jan 07 18:34:48 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:04 2008 -0500"
      },
      "message": "SUNRPC: fewer conditionals in the format_ip_address routines\n\nClean up: have the set up routines explicitly pass the strings to be used\nfor the transport name and NETID.  This removes a number of conditionals\nand dependencies on rpc_xprt.prot, which is overloaded.\n\nTighten up type checking on the address_strings array while we\u0027re at it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba7392bb37cb12781890f45d7ddee1618e33a036",
      "tree": "4c9a6cb3b22cae407f810c214275ab107ee3fc77",
      "parents": [
        "2881ae74e68ecfe3b32a90936e5d93a9ba598c3a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:55 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:59 2008 -0500"
      },
      "message": "SUNRPC: Add support for per-client timeout values\n\nIn order to be able to support setting the timeo and retrans parameters on\na per-mountpoint basis, we move the rpc_timeout structure into the\nrpc_clnt.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2881ae74e68ecfe3b32a90936e5d93a9ba598c3a",
      "tree": "d454fdf3b5da159935ca268648d45b5d1a29027d",
      "parents": [
        "698b6d088e8a5d907596c689d5ae9109611c5b59"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:54 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:58 2008 -0500"
      },
      "message": "SUNRPC: Clean up the transport timeout initialisation\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "663b8858dddbc8e634476960cc1c5f69dadba9b0",
      "tree": "9e6b9408cd9483dea7553bd8eba58fa449ec9d85",
      "parents": [
        "62da3b24880bccd4ffc32cf8d9a7e23fab475bdd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 01 18:42:12 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:27 2008 -0500"
      },
      "message": "SUNRPC: Reconnect immediately whenever the server isn\u0027t refusing it.\n\nIf we\u0027ve disconnected from the server, rather than the other way round,\nthen it makes little sense to wait 3 seconds before reconnecting.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "62da3b24880bccd4ffc32cf8d9a7e23fab475bdd",
      "tree": "334804c6eb817bd7827f58dbe86ced455160052d",
      "parents": [
        "3ebb067d92ebe5bcfd282acf12bade891d334d07"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 06 18:44:20 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:27 2008 -0500"
      },
      "message": "SUNRPC: Rename xprt_disconnect()\n\nxprt_disconnect() should really only be called when the transport shutdown\nis completed, and it is time to wake up any pending tasks. Rename it to\nxprt_disconnect_done() in order to reflect the semantical change.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3ebb067d92ebe5bcfd282acf12bade891d334d07",
      "tree": "99da8250d23887b8573dbeddae76ceb392c0663b",
      "parents": [
        "7272dcd31d56580dee7693c21e369fd167e137fe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 06 18:40:12 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:26 2008 -0500"
      },
      "message": "SUNRPC: Make call_status()/call_decode() call xprt_force_disconnect()\n\nMove the calls to xprt_disconnect() over to xprt_force_disconnect() in\norder to enable the transport layer to manage the state of the\nXPRT_CONNECTED flag.\nDitto in xs_tcp_read_fraghdr().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7272dcd31d56580dee7693c21e369fd167e137fe",
      "tree": "a69f10501069ec89d8fb7188f89e7d1d19929488",
      "parents": [
        "e06799f958bf7f9f8fae15f0c6f519953fb0257c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 06 18:28:53 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:26 2008 -0500"
      },
      "message": "SUNRPC: xprt_autoclose() should not call xprt_disconnect()\n\nThe transport layer should do that itself whenever appropriate.\n\nNote that the RDMA transport already assumes that it needs to call\nxprt_disconnect in xprt_rdma_close().\nFor TCP sockets, we want to call xprt_disconnect() only after the\nconnection has been closed by both ends.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e06799f958bf7f9f8fae15f0c6f519953fb0257c",
      "tree": "b1dd5c6bee1d7fa3ecd45f85b20b001c4af2dcdd",
      "parents": [
        "ef80367071dce7d2533e79ae8f3c84ec42708dc8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 05 15:44:12 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:26 2008 -0500"
      },
      "message": "SUNRPC: Use shutdown() instead of close() when disconnecting a TCP socket\n\nBy using shutdown() rather than close() we allow the RPC client to wait\nfor the TCP close handshake to complete before we start trying to reconnect\nusing the same port.\nWe use shutdown(SHUT_WR) only instead of shutting down both directions,\nhowever we wait until the server has closed the connection on its side.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ef80367071dce7d2533e79ae8f3c84ec42708dc8",
      "tree": "48246449698c55b40791a98713005b55682849b2",
      "parents": [
        "3b948ae5be5e22532584113e2e02029519bbad8f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 31 16:19:17 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:25 2008 -0500"
      },
      "message": "SUNRPC: TCP clear XPRT_CLOSE_WAIT when the socket is closed for writes\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3b948ae5be5e22532584113e2e02029519bbad8f",
      "tree": "3bfa346bfbc9808c164d3d36af29a2090a5a0628",
      "parents": [
        "67a391d72ca7efb387c30ec761a487e50a3ff085"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 05 17:42:39 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:25 2008 -0500"
      },
      "message": "SUNRPC: Allow the client to detect if the TCP connection is closed\n\nAdd an xprt-\u003estate bit to enable the TCP -\u003estate_change() method to signal\nwhether or not the TCP connection is in the process of closing down.\nThis will to be used by the reconnection logic in a separate patch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "67a391d72ca7efb387c30ec761a487e50a3ff085",
      "tree": "a3594508502769d56e838c20b5b094bcc1906b16",
      "parents": [
        "66af1e558538137080615e7ad6d1f2f80862de01"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 05 17:40:58 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:25 2008 -0500"
      },
      "message": "SUNRPC: Fix TCP rebinding logic\n\nCurrently the TCP rebinding logic assumes that if we\u0027re not using a\nreserved port, then we don\u0027t need to reconnect on the same port if a\ndisconnection event occurs. This breaks most RPC duplicate reply cache\nimplementations.\n\nAlso take into account the fact that xprt_min_resvport and\nxprt_max_resvport may change while we\u0027re reconnecting, since the user may\nchange them at any time via the sysctls. Ensure that we check the port\nboundaries every time we loop in xs_bind4/xs_bind6. Also ensure that if the\nboundaries change, we only scan the ports a maximum of 2 times.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "66af1e558538137080615e7ad6d1f2f80862de01",
      "tree": "f5f9680b86846d4df8312cd9bd729d6e10c7b5e8",
      "parents": [
        "ef818a28fac9bd214e676986d8301db0582b92a9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 06 10:18:36 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:24 2008 -0500"
      },
      "message": "SUNRPC: Fix a race in xs_tcp_state_change()\n\nWhen scheduling the autoclose RPC call, we want to ensure that we don\u0027t\nrace against the test_bit() call in xprt_clear_locked().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1781f7f5804e52ee2d35328b129602146a8d8254",
      "tree": "dc67102f480e59d87859c50392452be4f41487bd",
      "parents": [
        "27ab2568649d5ba6c5a20212079b7c4f6da4ca0d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Dec 11 11:30:32 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:33 2008 -0800"
      },
      "message": "[UDP]: Restore missing inDatagrams increments\n\nThe previous move of the the UDP inDatagrams counter caused the\ncounting of encapsulated packets, SUNRPC data (as opposed to call)\npackets and RXRPC packets to go missing.\n\nThis patch restores all of these.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "483066d62ec583fb6379377a9bfa8d5645b91c75",
      "tree": "c8750759402d7aa9f62714ef550d7d9516db6676",
      "parents": [
        "4c30d56edcaaa0446370189e8ab5c5393dc20ca3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 24 18:24:02 2007 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 26 16:24:50 2007 -0500"
      },
      "message": "SUNRPC: make sunrpc/xprtsock.c:xs_setup_{udp,tcp}() static\n\nxs_setup_{udp,tcp}() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f4921aff5b174349bc36551f142a5dbac782ea3f",
      "tree": "bdff8ca1531977ad1d04ac8d70e10f8dfbb26c38",
      "parents": [
        "419217cb1d0266f62cbea6cdc6b1d1324350bc34",
        "05c88babab957dfd63bd351b25042d80bd854dd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 10:46:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 10:47:35 2007 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (131 commits)\n  NFSv4: Fix a typo in nfs_inode_reclaim_delegation\n  NFS: Add a boot parameter to disable 64 bit inode numbers\n  NFS: nfs_refresh_inode should clear cache_validity flags on success\n  NFS: Fix a connectathon regression in NFSv3 and NFSv4\n  NFS: Use nfs_refresh_inode() in ops that aren\u0027t expected to change the inode\n  SUNRPC: Don\u0027t call xprt_release in call refresh\n  SUNRPC: Don\u0027t call xprt_release() if call_allocate fails\n  SUNRPC: Fix buggy UDP transmission\n  [23/37] Clean up duplicate includes in\n  [2.6 patch] net/sunrpc/rpcb_clnt.c: make struct rpcb_program static\n  SUNRPC: Use correct type in buffer length calculations\n  SUNRPC: Fix default hostname created in rpc_create()\n  nfs: add server port to rpc_pipe info file\n  NFS: Get rid of some obsolete macros\n  NFS: Simplify filehandle revalidation\n  NFS: Ensure that nfs_link() returns a hashed dentry\n  NFS: Be strict about dentry revalidation when doing exclusive create\n  NFS: Don\u0027t zap the readdir caches upon error\n  NFS: Remove the redundant nfs_reval_fsid()\n  NFSv3: Always use directory post-op attributes in nfs3_proc_lookup\n  ...\n\nFix up trivial conflict due to sock_owned_by_user() cleanup manually in\nnet/sunrpc/xprtsock.c\n"
    },
    {
      "commit": "02b3d34631831a19ee691516e233756b270eac6d",
      "tree": "28ddf5beadfd1f1954ca5ada9ac9d337fa7ce9e2",
      "parents": [
        "ab0049b4a2f66074dff6af851b35bba888f53972"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Wed Sep 12 10:42:12 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:00 2007 -0700"
      },
      "message": "[NET] Cleanup: Use sock_owned_by_user() macro\n\nChanges asserts in sunrpc to use sock_owned_by_user() macro instead of\nreferencing sock_lock.owner directly.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2199700f1d660494d2552278354422c51becb686",
      "tree": "38a1b9887a515ed67a0f2495770a6c979937548c",
      "parents": [
        "58eaab93376cb524fd0f1531a56902d2b3eaa619"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 11:43:37 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:20:37 2007 -0400"
      },
      "message": "SUNRPC: Fix buggy UDP transmission\n\nxs_sendpages() may return a negative result. We sure as hell don\u0027t want to\nadd that to the \u0027tk_bytes_sent\u0027 tally...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1321d8d971028e796978f6a48d195c09158b3bcd",
      "tree": "6a778f7b7f829d1155a1d62fb04cff732f613a08",
      "parents": [
        "bcf35617a7c3474ad12892dfbb089a572e5c06d2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Sep 24 15:40:00 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:18:19 2007 -0400"
      },
      "message": "SUNRPC: Fix bytes-per-op accounting for RPC over UDP\n\nNFS performance metrics reported zero bytes sent per op when mounting with\nUDP.  The UDP socket transport wasn\u0027t properly counting the number of bytes\nsent.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4fa016eb248cac875541fa199af550a8aefa0e90",
      "tree": "2a8aad2ebc1a05174d0eacaceb671bca6b24850c",
      "parents": [
        "49c36fcc441baf6a4d698e3645d1adf28edaf57b"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:47:57 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:50 2007 -0400"
      },
      "message": "NFS/SUNRPC: support transport protocol naming\n\nTo prepare for including non-sockets-based RPC transports, select\nRPC transports by an identifier (to be used in following patches).\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "49c36fcc441baf6a4d698e3645d1adf28edaf57b",
      "tree": "b5e51e610e67ffd8fbdffd7d2e7d49a91ad4a1fc",
      "parents": [
        "3c341b0b925eee01daae2c594b81e673f659d7cd"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:47:31 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:48 2007 -0400"
      },
      "message": "SUNRPC: rearrange RPC sockets definitions\n\nTo prepare for including non-sockets-based RPC transports, move the\nsockets-dependent definitions into their own file.\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3c341b0b925eee01daae2c594b81e673f659d7cd",
      "tree": "029db06dc895097b88c6765d349ce254db333bfd",
      "parents": [
        "bc25571e21e8bd053554209f5b1b228ad71e6b99"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:47:07 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:45 2007 -0400"
      },
      "message": "SUNRPC: rename the rpc_xprtsock_create structure\n\nTo prepare for including non-sockets-based RPC transports, change the\noverly suggestive name of the transport creation arguments struct.\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bc25571e21e8bd053554209f5b1b228ad71e6b99",
      "tree": "4c008cc445f24c6b5501b2867b8ba7a752b5d710",
      "parents": [
        "81c098af3da7981902e9f8163aeccc2467c4ba6d"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:46:39 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:42 2007 -0400"
      },
      "message": "SUNRPC: Finish API to load RPC transport implementations dynamically\n\nAllow RPC client transport implementations to be loaded as needed, or\nas they become available from distributors or third-party vendors.\n\nNote that we leave the IP sockets implementation in sunrpc.o\npermanently, as IP functionality is always available in any\nkernel that runs NFS.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4417c8c41a51a2ae95b2a2fa2811640b368c4151",
      "tree": "40b585df4a75d86c3c97ca69f94508a020ced64d",
      "parents": [
        "4f40ee4a02a2d017b714d5b2faaf5c25bf9eae47"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:43:05 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:20 2007 -0400"
      },
      "message": "SUNRPC: export per-transport rpcbind netid\u0027s\n\nThe rpcbind (v3+) netid is provided by each RPC client transport. This fixes\nan omission in IPv6 rpcbind client support, and enables future extension.\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "756805e7a76bcd2aae07fe31786fe453375e60b1",
      "tree": "f741760cde49f5f9f433d6996300f44a916a743c",
      "parents": [
        "8945ee5e27156ef9708bc3a11da87ba689aa38b6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Aug 16 16:03:26 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:16:29 2007 -0400"
      },
      "message": "SUNRPC: Add support for formatted universal addresses\n\n\"Universal addresses\" are a string representation of an IP address and\nport.  They are described fully in RFC 3530, section 2.2.  Add support\nfor generating them in the RPC client\u0027s socket transport module.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "8945ee5e27156ef9708bc3a11da87ba689aa38b6",
      "tree": "ac6d0a0fd27b3d7f2acd2d50ab5d9e0941a4ff91",
      "parents": [
        "95392c593e13fa7546857425971f87e4ded6e0c1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:58:04 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:16:26 2007 -0400"
      },
      "message": "SUNRPC: Split xs_reclassify_socket into an IPv4 and IPv6 version\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "95392c593e13fa7546857425971f87e4ded6e0c1",
      "tree": "d14037b40128187fb33c3c667331a5877cadd2a9",
      "parents": [
        "8f9d5b1a2e717fb9e0c4d2c60a224ecce905bd23"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:16:24 2007 -0400"
      },
      "message": "SUNRPC: Add a helper for extracting the address using the correct type\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8f9d5b1a2e717fb9e0c4d2c60a224ecce905bd23",
      "tree": "b72df915b34688c3b20b7b622b1eb738852259f6",
      "parents": [
        "68e220bd5c9fc52d8029275cd42e08f573ce3600"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:53 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:16:21 2007 -0400"
      },
      "message": "SUNRPC: Add IPv6 address support to net/sunrpc/xprtsock.c\n\nFinalize support for setting up RPC client transports to remote RPC\nservices addressed via IPv6.\n\nBased on work done by Gilles Quillard at Bull Open Source.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "68e220bd5c9fc52d8029275cd42e08f573ce3600",
      "tree": "57ecf6ca21530662ea1a857cd467964f2eaf219e",
      "parents": [
        "9c3d72de28eed3e882becd7054da2118f8a73131"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:48 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:16:18 2007 -0400"
      },
      "message": "SUNRPC: create connect workers for IPv6\n\nClone separate connect worker functions for connecting AF_INET6 sockets.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9c3d72de28eed3e882becd7054da2118f8a73131",
      "tree": "0e96f484f5cd6f4f64c0af566e345c700c433089",
      "parents": [
        "16be2d20d999cb65daebfdaf0e560225e28fcb9d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:43 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:16:15 2007 -0400"
      },
      "message": "SUNRPC: Rename IPv4 connect workers\n\nPrepare for introduction of IPv6 versions of same.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16be2d20d999cb65daebfdaf0e560225e28fcb9d",
      "tree": "215bfb914eca687419a5013dceadba746278c45f",
      "parents": [
        "90058d37c30ffce0e033ea3dcc6a539111483a58"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:38 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:16:13 2007 -0400"
      },
      "message": "SUNRPC: Refactor a part of socket connect logic into a helper function\n\nFinishing a socket connect is the same for IPv4 and IPv6, so split it out\ninto a helper.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90058d37c30ffce0e033ea3dcc6a539111483a58",
      "tree": "baed7764ac3c00bc27244aa58bb1465c6dd87989",
      "parents": [
        "7dc753f0391ad94868609376f37be4833671b57d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:33 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:16:10 2007 -0400"
      },
      "message": "SUNRPC: create an IPv6-savvy mechanism for binding to a reserved port\n\nClone xs_bindresvport into two functions, one that can handle IPv4\naddresses, and one that can handle IPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7dc753f0391ad94868609376f37be4833671b57d",
      "tree": "7b34dcdb70b2377b5f8e2d6160be9adda2df0ac3",
      "parents": [
        "20612005c51a5ba1bb17902276b9216825958724"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:28 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:16:08 2007 -0400"
      },
      "message": "SUNRPC: Rename xs_bind() to prepare for IPv6-specific bind method\n\nPrepare for introduction of IPv6-specific socket bind function.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "20612005c51a5ba1bb17902276b9216825958724",
      "tree": "c9b2cba06b859b7fc2ec029dbad0e4f2164fad65",
      "parents": [
        "d5b6443014940eb83788161c69b17cb7a1ffaaed"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:23 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:16:05 2007 -0400"
      },
      "message": "SUNRPC: Introduce support for setting the port number in IPv6 addresses\n\nWe could clone xs_set_port, but this is easier overall.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4b6473fba4e832ee1d15737bc38779501c349a61",
      "tree": "df83058dc748253d66e57ffd600a9858d8af5678",
      "parents": [
        "ba10f2c23471b2ef106eb0c71ead4e9862766b8d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:12 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:15:59 2007 -0400"
      },
      "message": "SUNRPC: add a function to format IPv6 addresses\n\nClone xs_format_ipv4_peer_addresses into an IPv6 version.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba10f2c23471b2ef106eb0c71ead4e9862766b8d",
      "tree": "9c29bd7f858bda3cdbcd65dfa4df8e703fa469cc",
      "parents": [
        "fbfe3cc677c1a62ca6472abf24d03d4bf9f03a55"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:07 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:15:55 2007 -0400"
      },
      "message": "SUNRPC: Rename xs_format_peer_addresses\n\nPrepare to add an IPv6 version of xs_format_peer_addresses by renaming it\nto xs_format_ipv4_peer_addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fbfe3cc677c1a62ca6472abf24d03d4bf9f03a55",
      "tree": "65c5f2138ba7d8ce51c4fa2f983c25827502416b",
      "parents": [
        "0c43b3d81cca46ab2469f8802f8bd68b49f1b2a5"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:57:02 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:15:52 2007 -0400"
      },
      "message": "SUNRPC: Add hex-formatted address support to rpc_peeraddr2str()\n\nAdd support for the NFS client\u0027s need to export volume information\nwith IP addresses formatted in hex instead of decimal.\n\nThis isn\u0027t used yet, but subsequent patches (not in this series) will\nchange the NFS client to use this functionality.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0c43b3d81cca46ab2469f8802f8bd68b49f1b2a5",
      "tree": "b8233aba6352474e8e440a6228e97875aa2e7728",
      "parents": [
        "bda243df2f5beebce92bae22bc01960544783984"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:56:57 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:15:49 2007 -0400"
      },
      "message": "SUNRPC: Free address buffers in a loop\n\nUse more generic logic to free buffers holding formatted addresses.  This\nmakes it less likely a bug will be introduced when adding additional buffer\ntypes in xs_format_peer_address().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bda243df2f5beebce92bae22bc01960544783984",
      "tree": "5d1ff91bf110deb5577431cddd91457f1c86d372",
      "parents": [
        "b595bb15061567441546be1af883b256bcdfff9c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:56:52 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:15:46 2007 -0400"
      },
      "message": "SUNRPC: Use standard macros for printing IP addresses\n\ninclude/linux/kernel.h gives us some nice macros for formatting IP\naddresses.  Use them.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b595bb15061567441546be1af883b256bcdfff9c",
      "tree": "d20c54300e582f41650254ad769909125a6b3b7c",
      "parents": [
        "adc24df81d6903d2d6280d77e936aa5e1670d7a1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 06 11:56:42 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:15:44 2007 -0400"
      },
      "message": "SUNRPC: Fix a signed v. unsigned comparison in net/sunrpc/xprtsock.c\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d3bc9a1deb8964d774af8535814cb91bf8f6def0",
      "tree": "c8ae19f3684b40a4c53d948adc3b0f688d373497",
      "parents": [
        "a97476926ec061f90b77da478620ea6dc71a3237"
      ],
      "author": {
        "name": "Frank van Maarseveen",
        "email": "frankvm@frankvm.com",
        "time": "Mon Jul 09 22:23:35 2007 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:49 2007 -0400"
      },
      "message": "SUNRPC client: add interface for binding to a local address\n\nIn addition to binding to a local privileged port the NFS client should\nallow binding to a specific local address. This is used by the server\nfor callbacks. The patch adds the necessary interface.\n\nSigned-off-by: Frank van Maarseveen \u003cfrankvm@frankvm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96802a095171f5b35cf0e1e0d4be943e6696a253",
      "tree": "edad2ad27532dc7e380ec2fd3854d8c265a004c1",
      "parents": [
        "6f2e64d3e1f661095e274c9d9d47e3f39a6cf1c0"
      ],
      "author": {
        "name": "Frank van Maarseveen",
        "email": "frankvm@frankvm.com",
        "time": "Sun Jul 08 13:08:54 2007 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:49 2007 -0400"
      },
      "message": "SUNRPC: cleanup transport creation argument passing\n\nCleanup argument passing to functions for creating an RPC transport.\n\nSigned-off-by: Frank van Maarseveen \u003cfrankvm@frankvm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "45160d6275814e0c86206e6981f0b92c61a50a21",
      "tree": "0f509c208db20833fb86e13fc0e1b12f49da0b58",
      "parents": [
        "cce63cd6374e6f1b4ea897ece1454feb13993d7c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Jul 01 12:13:17 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:46 2007 -0400"
      },
      "message": "SUNRPC: Rename rpcb_getport to be consistent with new rpcb_getport_sync name\n\nClean up, for consistency.  Rename rpcb_getport as rpcb_getport_async, to\nmatch the naming scheme of rpcb_getport_sync.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c1384c9c4c184543375b52a0997d06cd98145164",
      "tree": "26bb2ee42dc2fddfe1817d3066844669912adef2",
      "parents": [
        "6e5b70e9d1e712d8dad5514e0ab5240ac4b5fb57"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 18:00:42 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:31 2007 -0400"
      },
      "message": "SUNRPC: fix hang due to eventd deadlock...\n\nBrian Behlendorf writes:\n\nThe root cause of the NFS hang we were observing appears to be a rare\ndeadlock between the kernel provided usermodehelper API and the linux NFS\nclient.  The deadlock can arise because both of these services use the\ngeneric linux work queues.  The usermodehelper API run the specified user\napplication in the context of the work queue.  And NFS submits both cleanup\nand reconnect work to the generic work queue for handling.  Normally this\nis fine but a deadlock can result in the following situation.\n\n  - NFS client is in a disconnected state\n  - [events/0] runs a usermodehelper app with an NFS dependent operation,\n    this triggers an NFS reconnect.\n  - NFS reconnect happens to be submitted to [events/0] work queue.\n  - Deadlock, the [events/0] work queue will never process the\n    reconnect because it is blocked on the previous NFS dependent\n    operation which will not complete.`\n\nThe solution is simply to run reconnect requests on rpciod.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e9b1c9c98c051f49a76dcd76f914c02653aecccb",
      "tree": "62fac1a77a78414eea7ffbdc901a5a5968dca8e5",
      "parents": [
        "a509050bd3b8e0aa269c2241aa10d74ca7701e2f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:48:10 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:13 2007 -0700"
      },
      "message": "SUNRPC: switch socket-based RPC transports to use rpcbind\n\nNow that we have a version of the portmapper that supports versions 3 and 4\nof the rpcbind protocol, use it for new RPC client connections over\nsockets.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0b4d414714f0d2f922d39424b0c5c82ad900a381",
      "tree": "5079ec59a5622c9cacfe0fce484ba2c4626c406f",
      "parents": [
        "ae836810263509ff7a3c2c021754ce6f66b3fab6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:59 2007 -0800"
      },
      "message": "[PATCH] sysctl: remove insert_at_head from register_sysctl\n\nThe semantic effect of insert_at_head is that it would allow new registered\nsysctl entries to override existing sysctl entries of the same name.  Which is\npain for caching and the proc interface never implemented.\n\nI have done an audit and discovered that none of the current users of\nregister_sysctl care as (excpet for directories) they do not register\nduplicate sysctl entries.\n\nSo this patch simply removes the support for overriding existing entries in\nthe sys_sysctl interface since no one uses it or cares and it makes future\nenhancments harder.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b1bec5f52fec033ed0026e7d85f641e20e1cbb9",
      "tree": "b40e7602e530db4772a0a8b86762cc82413163e3",
      "parents": [
        "7e35280e517c28b991667a608990227503dd2a30"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:33:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:55 2007 -0800"
      },
      "message": "[PATCH] sysctl: sunrpc: don\u0027t unnecessarily set ctl_table-\u003ede\n\nWe don\u0027t need this to prevent module unload races so remove the unnecessary\ncode.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e35280e517c28b991667a608990227503dd2a30",
      "tree": "8253209f6c30f29eac09dd907d45e7ecaa9b9577",
      "parents": [
        "50d851f7227cf9e7fcc4cd1d2b3c72ddd64c50e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:33:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:55 2007 -0800"
      },
      "message": "[PATCH] sysctl: sunrpc: remove unnecessary insert_at_head flag\n\nBecause the sunrpc sysctls don\u0027t conflict with any other sysctls the setting\nthe insert at head flag to register_sysctl has no semantic meaning.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46121cf7d85869bfe9588bac7ccf55aa0bc7f278",
      "tree": "51172f1b47dd8aa99e6f96c495fe7f8e2c0bbc34",
      "parents": [
        "8885cb367f86ce02bed3bf18192d74a53ac3b81f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jan 31 12:14:08 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 03 15:35:10 2007 -0800"
      },
      "message": "SUNRPC: fix print format for tk_pid\n\nThe tk_pid field is an unsigned short.  The proper print format specifier for\nthat type is %5u, not %4d.\n\nAlso clean up some miscellaneous print formatting nits.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "21b4e736922f546e0f1aa7b9d6c442f309a2444a",
      "tree": "e1be8645297f8ebe87445251743ebcc52081a20d",
      "parents": [
        "34161db6b14d984fb9b06c735b7b42f8803f6851",
        "68380b581383c028830f79ec2670f4a193854aa6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 16:35:17 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 16:35:17 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/ into merge_linus\n"
    },
    {
      "commit": "34161db6b14d984fb9b06c735b7b42f8803f6851",
      "tree": "99656278b6697f1cde5b05894b7c0ee22c63a00e",
      "parents": [
        "5847e1f4d058677c5e46dc6c3e3c70e8855ea3ba",
        "620034c84d1d939717bdfbe02c51a3fee43541c3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 15:48:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 15:48:15 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/ into merge_linus\n\nConflicts:\n\n\tinclude/linux/sunrpc/xprt.h\n\tnet/sunrpc/xprtsock.c\nFix up conflicts with the workqueue changes.\n"
    },
    {
      "commit": "ed07536ed6731775219c1df7fa26a7588753e693",
      "tree": "c539d80fe50f28d4e294850bb33be810f46fd515",
      "parents": [
        "b9d85b08c689dbf54b9943a02f73cb54c2b0fccf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:35:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:30 2006 -0800"
      },
      "message": "[PATCH] lockdep: annotate nfs/nfsd in-kernel sockets\n\nStick NFS sockets in their own class to avoid some lockdep warnings.  NFS\nsockets are never exposed to user-space, and will hence not trigger certain\ncode paths that would otherwise pose deadlock scenarios.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Dickson \u003cSteveD@redhat.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n[ Fixed patch corruption by quilt, pointed out by Peter Zijlstra ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fbf76683ff9d1462ec0b2f90ec6ea4793652318c",
      "tree": "22a5738d7eb984ae7315e471814f43c5ea8d8b2e",
      "parents": [
        "282b32e17f64be2204f1ac96d7f40f92cb768cd7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:54 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:53 2006 -0500"
      },
      "message": "SUNRPC: relocate the creation of socket-specific tunables\n\nClean-up:\n\nThe RPC client currently creates some sysctls that are specific to the\nsocket transport.  Move those entirely into xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "282b32e17f64be2204f1ac96d7f40f92cb768cd7",
      "tree": "0a82058abdb8fad356e9eb3b70e99b8c58c3261d",
      "parents": [
        "dd4564715eae2c4136f278da9ae1c3bb5af3e509"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:51 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:53 2006 -0500"
      },
      "message": "SUNRPC: create stubs for xprtsock init and cleanup\n\nOver time we will want to add some specific init and cleanup logic for the\nxprtsock implementation.  Add stub routines for initialization and exit\nprocessing.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd4564715eae2c4136f278da9ae1c3bb5af3e509",
      "tree": "a0e6d56de86bdc9ce57f5663d2d0840c3ea3179b",
      "parents": [
        "9d29231690925915015c21c1fff73c7118099843"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:52 2006 -0500"
      },
      "message": "SUNRPC: Rename skb_reader_t and friends\n\nClean-up:  hch suggested that the RPC client shouldn\u0027t pollute the name\nspace used by the generic skb manipulation routines in net/core/skbuff.c.\n\nRename a couple of types in xdr.h to adhere to this convention.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9d29231690925915015c21c1fff73c7118099843",
      "tree": "ac1018a80198a7e493296f5fc8e9fbd8dac7d0f0",
      "parents": [
        "7559c7a28fbcaa0bca028eeebd5f251b09befe6b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:41 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:52 2006 -0500"
      },
      "message": "SUNRPC: skb_read_bits is the same as xs_tcp_copy_data\n\nClean-up: eliminate xs_tcp_copy_data -- it\u0027s exactly the same logic as the\ncommon routine skb_read_bits.  The UDP and TCP socket read code now share\nthe same routine for copying data into an xdr_buf.\n\nNow that skb_read_bits() is exported, rename it to avoid confusing it with\na generic skb_* function.  As these functions are XDR-specific, they should\nnot have names that suggest they are of generic use.  Also rename\nskb_read_and_csum_bits() to be consistent.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7559c7a28fbcaa0bca028eeebd5f251b09befe6b",
      "tree": "5cbf7df3f966243261e1923641618fd813126734",
      "parents": [
        "314dfd7987c71d7ba0c43ac3bf3d243c102ce025"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:37 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:51 2006 -0500"
      },
      "message": "SUNRPC: Make address format buffers more generic\n\nFor now we will assume that all transports will use the address format\nbuffers in the rpc_xprt struct to store their addresses.  Change\nrpc_peer2str() to be a generic routine to handle this, and get rid of the\nprint_address() op in the rpc_xprt_ops vector.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "314dfd7987c71d7ba0c43ac3bf3d243c102ce025",
      "tree": "dc1007a39bf4473afc6f3b6fda95c62207d5f4db",
      "parents": [
        "7c6e066ec29290bf062f5bff2984bad9be5809c7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:34 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:51 2006 -0500"
      },
      "message": "SUNRPC: move saved socket callback functions to a private data structure\n\nMove the three fields for saving socket callback functions out of the\nrpc_xprt structure and into a private data structure maintained in\nnet/sunrpc/xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7c6e066ec29290bf062f5bff2984bad9be5809c7",
      "tree": "a7b601ecc7b4ae15022145d34dea812f4de2c07b",
      "parents": [
        "c8475461829fd94f30208fbfa4eab7e5584c6495"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:30 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:50 2006 -0500"
      },
      "message": "SUNRPC: Move the UDP socket bufsize parameters to a private data structure\n\nMove the socket-specific buffer size parameters for UDP sockets to a\nprivate data structure maintained in net/sunrpc/xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8475461829fd94f30208fbfa4eab7e5584c6495",
      "tree": "33f3e3de18a0c1b8fce5125bf9b2c0e2c4ce0dd5",
      "parents": [
        "e136d0926ef6a048f6e65b35263c0a9faae3abbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:26 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:50 2006 -0500"
      },
      "message": "SUNRPC: Move rpc_xprt socket connect fields into private data structure\n\nMove the socket-specific connection management fields out of the generic\nrpc_xprt structure into a private data structure maintained in\nnet/sunrpc/xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e136d0926ef6a048f6e65b35263c0a9faae3abbe",
      "tree": "703d73647ce48b5c897af1c8a635db209bd03161",
      "parents": [
        "51971139b2342fa1005e87bbfcb52305da3fe891"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:23 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:50 2006 -0500"
      },
      "message": "SUNRPC: Move TCP state flags into xprtsock.c\n\nMove \"XPRT_LAST_FRAG\" and friends from xprt.h into xprtsock.c, and rename\nthem to use the naming scheme in use in xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "51971139b2342fa1005e87bbfcb52305da3fe891",
      "tree": "e3d48890ba589ba9f08c33480a14dfd90db7dba5",
      "parents": [
        "ee0ac0c227c2a2b6dd1b33c23831100ee895dacf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:19 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:49 2006 -0500"
      },
      "message": "SUNRPC: Move TCP receive state variables into private data structure\n\nMove the TCP receive state variables from the generic rpc_xprt structure to\na private structure maintained inside net/sunrpc/xprtsock.c.\n\nAlso rename a function/variable pair to refer to RPC fragment headers\ninstead of record markers, to be consistent with types defined in\nsunrpc/*.h.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ee0ac0c227c2a2b6dd1b33c23831100ee895dacf",
      "tree": "62e0e0b7e0ee049795b2e97990c4a2774e59e223",
      "parents": [
        "ffc2e518c91942b7ed45fb0ab7deba1ba0c8594a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:49 2006 -0500"
      },
      "message": "SUNRPC: Remove sock and inet fields from rpc_xprt\n\nThe \"sock\" and \"inet\" fields are socket-specific.  Move them to a private\ndata structure maintained entirely within net/sunrpc/xprtsock.c\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ffc2e518c91942b7ed45fb0ab7deba1ba0c8594a",
      "tree": "64d712342ceb16e273fa242a9898f7af7d3d04c5",
      "parents": [
        "94efa93435383b08d822a40f24ff6f6ce1a888df"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:11 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:48 2006 -0500"
      },
      "message": "SUNRPC: Allocate a private data area for socket-specific rpc_xprt fields\n\nWhen setting up a new transport instance, allocate enough memory for an\nrpc_xprt and a private area.  As part of the same memory allocation, it\nwill be easy to find one, given a pointer to the other.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8541ecdd5692bcfbcb5305cab9a873288d29175",
      "tree": "45714725337f22a5eb27cbe5b87c3b01f37c9490",
      "parents": [
        "e744cf2e3ab8535a8494a4cf0177de26f94586da"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Oct 17 14:44:27 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:34 2006 -0500"
      },
      "message": "SUNRPC: Make the transport-specific setup routine allocate rpc_xprt\n\nChange the location where the rpc_xprt structure is allocated so each\ntransport implementation can allocate a private area from the same\nchunk of memory.\n\nNote also that xprt-\u003eops-\u003edestroy, rather than xprt_destroy, is now\nresponsible for freeing rpc_xprt when the transport is destroyed.\n\nTest plan:\nConnectathon.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24c5684b65ff52ebfa942e8086d91a4966121ae7",
      "tree": "19b52d0af15abae59fd5d9cb7b96406484a79762",
      "parents": [
        "bee57c99c322d64407b80c8171958b4384902da4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 17 15:06:22 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:33 2006 -0500"
      },
      "message": "SUNRPC: Clean up xs_send_pages()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "65f27f38446e1976cc98fd3004b110fedcddd189",
      "tree": "68f8be93feae31dfa018c22db392a05546b63ee1",
      "parents": [
        "365970a1ea76d81cb1ad2f652acb605f06dae256"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "message": "WorkStruct: Pass the work_struct pointer instead of context data\n\nPass the work_struct pointer to the work function rather than context data.\nThe work function can use container_of() to work out the data.\n\nFor the cases where the container of the work_struct may go away the moment the\npending bit is cleared, it is made possible to defer the release of the\nstructure by deferring the clearing of the pending bit.\n\nTo make this work, an extra flag is introduced into the management side of the\nwork_struct.  This governs auto-release of the structure upon execution.\n\nOrdinarily, the work queue executor would release the work_struct for further\nscheduling or deallocation by clearing the pending bit prior to jumping to the\nwork function.  This means that, unless the driver makes some guarantee itself\nthat the work_struct won\u0027t go away, the work function may not access anything\nelse in the work_struct or its container lest they be deallocated..  This is a\nproblem if the auxiliary data is taken away (as done by the last patch).\n\nHowever, if the pending bit is *not* cleared before jumping to the work\nfunction, then the work function *may* access the work_struct and its container\nwith no problems.  But then the work function must itself release the\nwork_struct by calling work_release().\n\nIn most cases, automatic release is fine, so this is the default.  Special\ninitiators exist for the non-auto-release case (ending in _NAR).\n\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c",
      "tree": "5849b4e3c17daa70a7e81cfdeaddac9ac8a0e953",
      "parents": [
        "0f9005a6f7a82f4aacbd72f7b92322a8ca1c3f97"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "message": "WorkStruct: Separate delayable and non-delayable events.\n\nSeparate delayable work items from non-delayable work items be splitting them\ninto a separate structure (delayed_work), which incorporates a work_struct and\nthe timer_list removed from work_struct.\n\nThe work_struct struct is huge, and this limits it\u0027s usefulness.  On a 64-bit\narchitecture it\u0027s nearly 100 bytes in size.  This reduces that by half for the\nnon-delayable type of event.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "b7766da7f7395b74dec9e52005b7dac0d09391a4",
      "tree": "a7008bf0809b5e4783a013b402b1383c16f050ac",
      "parents": [
        "71bdcf8056f910dc57ea3d0def80a9329e7dc52d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Oct 19 23:28:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:39 2006 -0700"
      },
      "message": "[PATCH] SUNRPC: fix a typo\n\nYes, this actually passed tests the way it was.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8ed029d6000ba2e2908d9286409e4833c091b4c",
      "tree": "732feaa2e3751df5c81032a30ff4761427492ac4",
      "parents": [
        "7699431301b189fca7ccbb64fe54e5a5170f8497"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Sep 26 22:29:38 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:21 2006 -0700"
      },
      "message": "[SUNRPC]: trivial endianness annotations\n\npure s/u32/__be32/\n\n[AV: large part based on Alexey\u0027s patches]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f261e011340bcd22c1dd48b465153bd78caa8c8",
      "tree": "b1c266ea746a0e8591e6af781aef22854e652ff9",
      "parents": [
        "a4c12d6c5dde48c69464baf7c703e425ee511433",
        "026ed5c9185dcc4b2df92e98c3d61a01cea19cbf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 23 16:58:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 23 16:58:40 2006 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (74 commits)\n  NFS: unmark NFS direct I/O as experimental\n  NFS: add comments clarifying the use of nfs_post_op_update()\n  NFSv4: rpc_mkpipe creating socket inodes w/out sk buffers\n  NFS: Use SEEK_END instead of hardcoded value\n  NFSv4: When mounting with a port\u003d0 argument, substitute port\u003d2049\n  NFSv4: Poll more aggressively when handling NFS4ERR_DELAY\n  NFSv4: Handle the condition NFS4ERR_FILE_OPEN\n  NFSv4: Retry lease recovery if it failed during a synchronous operation.\n  NFS: Don\u0027t invalidate the symlink we just stuffed into the cache\n  NFS: Make read() return an ESTALE if the file has been deleted\n  NFSv4: It\u0027s perfectly legal for clp to be NULL here....\n  NFS: nfs_lookup - don\u0027t hash dentry when optimising away the lookup\n  SUNRPC: Fix Oops in pmap_getport_done\n  SUNRPC: Add refcounting to the struct rpc_xprt\n  SUNRPC: Clean up soft task error handling\n  SUNRPC: Handle ENETUNREACH, EHOSTUNREACH and EHOSTDOWN socket errors\n  SUNRPC: rpc_delay() should not clobber the rpc_task-\u003etk_status\n  Fix a referral error Oops\n  NFS: NFS_ROOT should use the new rpc_create API\n  NFS: Fix up compiler warnings on 64-bit platforms in client.c\n  ...\n\nManually resolved conflict in net/sunrpc/xprtsock.c\n"
    },
    {
      "commit": "ff9aa5e56df60cc8565a93cc868fe25ae3f20e49",
      "tree": "ae1045652699feacd18aecbc7023edd430c2695e",
      "parents": [
        "9e1968c58d72c4b85d8a69bda1e194f9701fb224"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:21 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:51 2006 -0400"
      },
      "message": "SUNRPC: Eliminate xprt_create_proto and rpc_create_client\n\nThe two function call API for creating a new RPC client is now obsolete.\nRemove it.\n\nAlso, remove an unnecessary check to see whether the caller is capable of\nusing privileged network services.  The kernel RPC client always uses a\nprivileged ephemeral port by default; callers are responsible for checking\nthe authority of users to make use of any RPC service, or for specifying\nthat a nonprivileged port is acceptable.\n\nTest plan:\nRepeated runs of Connectathon locking suite.  Check network trace to ensure\ncorrectness of NLM requests and replies.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c4efcb1d3e0bc76aeb9ca6301d19a5079893c6c9",
      "tree": "23f113b897f1ab2e00e4fcf774d93711d7f703b8",
      "parents": [
        "e7f7865743fff3d3938ec7540e5a784d662426da"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:19 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:48 2006 -0400"
      },
      "message": "SUNRPC: Use \"sockaddr_storage\" for storing RPC client\u0027s remote peer address\n\nIPv6 addresses are big (128 bytes).  Now that no RPC client consumers treat\nthe addr field in rpc_xprt structs as an opaque, and access it only via the\nAPI calls, we can safely widen the field in the rpc_xprt struct to\naccomodate larger addresses.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "edb267a688fcee5335d596752f117a30c7152e44",
      "tree": "b73a91f17f22baa81a3c0a4df1b01929680a2807",
      "parents": [
        "39d7bbcb5ba5e9d8d658b70903dd7939400e57db"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:18 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:47 2006 -0400"
      },
      "message": "SUNRPC: add xprt switch API for printing formatted remote peer addresses\n\nAdd a new method to the transport switch API to provide a way to convert\nthe opaque contents of xprt-\u003eaddr to a human-readable string.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bbf7c1dd2ae2b4040b41b1065ee9b1b6905b1605",
      "tree": "b1867e722c1cc679b1834feeeeb21195f57dc873",
      "parents": [
        "5b1eacbcd78930d976eb50a93f1779d311b553d1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:16 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:44 2006 -0400"
      },
      "message": "SUNRPC: Introduce transport switch callout for pluggable rpcbind\n\nIntroduce a clean transport switch API for plugging in different types of\nrpcbind mechanisms.  For instance, rpcbind can cleanly replace the\nexisting portmapper client, or a transport can choose to implement RPC\nbinding any way it likes.\n\nTest plan:\nDestructive testing (unplugging the network temporarily).  Connectathon\nwith UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\nProbably need to rig a server where certain services aren\u0027t running, or\nthat returns an error for some typical operation.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ec739ef03dc926d05051c8c5838971445504470a",
      "tree": "940d3dafd873c159c1279ade15ba11ede1d12983",
      "parents": [
        "9c5bf38d85a31b946664bcc21078ef5bb10672f7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:15 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:39 2006 -0400"
      },
      "message": "SUNRPC: Create a helper to tell whether a transport is bound\n\nHide the contents and format of xprt-\u003eaddr by eliminating direct uses\nof the xprt-\u003eaddr.sin_port field.  This change is required to support\nalternate RPC host address formats (eg IPv6).\n\nTest-plan:\nDestructive testing (unplugging the network temporarily).  Repeated runs of\nConnectathon locking suite with UDP and TCP.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "53fad3cbff120d8987f377eff374cf4db4ecb177",
      "tree": "43078f18154d1109913f95d7fc3bd7da61ca8f1b",
      "parents": [
        "a22ec367b08455f95fa0096ce1999950b6f6911c"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Wed Aug 09 17:03:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:16 2006 -0700"
      },
      "message": "[SUNRPC]: Remove the unnecessary check for highmem in xs_sendpages().\n\nJust call kernel_sendpage() directly.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6242e928ef1e4ed853f909a7479e4934f4bcb70",
      "tree": "f348f28e1993c73b2683f7edf87ef673ad2d5ec8",
      "parents": [
        "ac5a488ef252ed673cb067843e411f8cc43f7ab9"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Mon Aug 07 20:58:01 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:06 2006 -0700"
      },
      "message": "[SUNRPC]: Update to use in-kernel sockets API.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0ab53deaa91293a7958d63d5a2cf4c5645ad6f0",
      "tree": "1117ac18e263222ad91f3af90ddcaf65f37b79f6",
      "parents": [
        "f3d43c769d14b7065da7f62ec468b1fcb8cd6e06"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jul 27 17:22:50 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 03 16:56:55 2006 -0400"
      },
      "message": "RPC: Ensure that we disconnect TCP socket when client requests error out\n\nIf we\u0027re part way through transmitting a TCP request, and the client\nerrors, then we need to disconnect and reconnect the TCP socket in order to\navoid confusing the server.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from 031a50c8b9ea82616abd4a4e18021a25848941ce commit)\n"
    },
    {
      "commit": "0da974f4f303a6842516b764507e3c0a03f41e5a",
      "tree": "8872aec792f02040269c6769dd1009b20f71d186",
      "parents": [
        "a0ee7c70b22f78593957f99faa06acb4747b8bc0"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "message": "[NET]: Conversions from kmalloc+memset to k(z|c)alloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "b85d88068444ae5dcb1639bcef770ccbf085dd4e",
      "tree": "bcce3ef7e2f66465b09dc485fb1a280c111b2e31",
      "parents": [
        "73a3d07c1082145a3b78407bb5252df290470c4c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu May 25 01:40:49 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:05 2006 -0400"
      },
      "message": "SUNRPC: select privileged port numbers at random\n\nMake the RPC client select privileged ephemeral source ports at\nrandom.  This improves DRC behavior on the server by using the\nsame port when reconnecting for the same mount point, but using\na different port for fresh mounts.\n\nThe Linux TCP implementation already does this for nonprivileged\nports.  Note that TCP sockets in TIME_WAIT will prevent quick reuse\nof a random ephemeral port number by leaving the port INUSE until\nthe connection transitions out of TIME_WAIT.\n\nTest plan:\nConnectathon against every known server implementation using multiple\nmount points.  Locking especially.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ef759a2e54ed434b2f72b52a14edecd6d4eadf74",
      "tree": "aa495ef4691387839146683dfae0f0084fbe6137",
      "parents": [
        "262ca07de4d7f1bff20361c1353bb14b3607afb2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "message": "SUNRPC: introduce per-task RPC iostats\n\nAccount for various things that occur while an RPC task is executed.\nSeparate timers for RPC round trip and RPC execution time show how\nlong RPC requests wait in queue before being sent.  Eventually these\nwill be accumulated at xprt_release time in one place where they can\nbe viewed from userland.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "262ca07de4d7f1bff20361c1353bb14b3607afb2",
      "tree": "e448a66b4549bbd660f76e81da0067d762a4732e",
      "parents": [
        "e19b63dafdf7d615b0d36b90990a07e7792b9d3a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:16 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:16 2006 -0500"
      },
      "message": "SUNRPC: add a handful of per-xprt counters\n\nMonitor generic transport events.  Add a transport switch callout to\nformat transport counters for export to user-land.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "632e3bdc5006334cea894d078660b691685e1075",
      "tree": "c18dbe84dfe679d19a581ea0c9bfb931daa08917",
      "parents": [
        "eadb8c147154bff982f02accf31b847a1f142ace"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:55 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "SUNRPC: Ensure client closes the socket when server initiates a close\n\n If the server decides to close the RPC socket, we currently don\u0027t actually\n respond until either another RPC call is scheduled, or until xprt_autoclose()\n gets called by the socket expiry timer (which may be up to 5 minutes\n later).\n\n This patch ensures that xprt_autoclose() is called much sooner if the\n server closes the socket.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "922004120b10dcb0ce04b55014168e8a7a8c1a0e",
      "tree": "4209bbd1043d9ddf09f2f277a65af758aa3631da",
      "parents": [
        "35f5a422ce1af836007f811b613c440d0e348e06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:51 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: transport switch API for setting port number\n\n At some point, transport endpoint addresses will no longer be IPv4.  To hide\n the structure of the rpc_xprt\u0027s address field from ULPs and port mappers,\n add an API for setting the port number during an RPC bind operation.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "02107148349f31eee7c0fb06fd7a880df73dbd20",
      "tree": "37bffd81e08b8e50394ce89a1aa7a3961f0ffbe7",
      "parents": [
        "03c21733938aad0758f5f88e1cc7ede69fc3c910"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:49 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:55 2006 -0500"
      },
      "message": "SUNRPC: switchable buffer allocation\n\n Add RPC client transport switch support for replacing buffer management\n on a per-transport basis.\n\n In the current IPv4 socket transport implementation, RPC buffers are\n allocated as needed for each RPC message that is sent.  Some transport\n implementations may choose to use pre-allocated buffers for encoding,\n sending, receiving, and unmarshalling RPC messages, however.  For\n transports capable of direct data placement, the buffers can be carved\n out of a pre-registered area of memory rather than from a slab cache.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization with \"sio\" and\n \"iozone\".  Use oprofile and other tools to look for significant regression\n in CPU utilization.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b079fa7baa86b47579f3f60f86d03d21c76159b8",
      "tree": "a62d8d031315459083d546e639faaa5ce0162a03",
      "parents": [
        "3e1ec1f43307575d4e04c513aa3c30d69c32b9dc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 13 16:13:52 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 19 23:11:54 2005 -0500"
      },
      "message": "RPC: Do not block on skb allocation\n\n If we get something like the following,\n [  125.300636]  [\u003cc04086e1\u003e] schedule_timeout+0x54/0xa5\n [  125.305931]  [\u003cc040866e\u003e] io_schedule_timeout+0x29/0x33\n [  125.311495]  [\u003cc02880c4\u003e] blk_congestion_wait+0x70/0x85\n [  125.317058]  [\u003cc014136b\u003e] throttle_vm_writeout+0x69/0x7d\n [  125.322720]  [\u003cc014714d\u003e] shrink_zone+0xe0/0xfa\n [  125.327560]  [\u003cc01471d4\u003e] shrink_caches+0x6d/0x6f\n [  125.332581]  [\u003cc01472a6\u003e] try_to_free_pages+0xd0/0x1b5\n [  125.338056]  [\u003cc013fa4b\u003e] __alloc_pages+0x135/0x2e8\n [  125.343258]  [\u003cc03b74ad\u003e] tcp_sendmsg+0xaa0/0xb78\n [  125.348281]  [\u003cc03d4666\u003e] inet_sendmsg+0x48/0x53\n [  125.353212]  [\u003cc0388716\u003e] sock_sendmsg+0xb8/0xd3\n [  125.358147]  [\u003cc0388773\u003e] kernel_sendmsg+0x42/0x4f\n [  125.363259]  [\u003cc038bc00\u003e] sock_no_sendpage+0x5e/0x77\n [  125.368556]  [\u003cc03ee7af\u003e] xs_tcp_send_request+0x2af/0x375\n then the socket is blocked until memory is reclaimed, and no\n progress can ever be made.\n\n Try to access the emergency pools by using GFP_ATOMIC.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c556b754967afd0878d65de2cfe0675577b0f62f",
      "tree": "fac27d23ff5230bef203fa30f26ba9faee56d987",
      "parents": [
        "6bfc93ef98f00b38f1913a7fdeae46ae8dbd7c52"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Nov 01 12:24:48 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 04 15:39:45 2005 -0500"
      },
      "message": "SUNRPC: allow sunrpc.o to link when CONFIG_SYSCTL is disabled\n\n The sunrpc module should build properly even when CONFIG_SYSCTL is\n disabled.\n\n Reported by Jan-Benedict Glaw.\n\n Test plan:\n Compile kernel with CONFIG_NFS as a module and built-in, and CONFIG_SYSCTL\n enabled and disabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "470056c288334eb0b37be26c9ff8aee37ed1cc7a",
      "tree": "8c76a17c31c5dadbd4438a11d64364cdbe164c40",
      "parents": [
        "03bf4b707eee06706c9db343dd5c905b7ee47ed2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:56 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:55 2005 -0400"
      },
      "message": "[PATCH] RPC: rationalize set_buffer_size\n\n In fact, -\u003eset_buffer_size should be completely functionless for non-UDP.\n\n Test-plan:\n Check socket buffer size on UDP sockets over time.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "03bf4b707eee06706c9db343dd5c905b7ee47ed2",
      "tree": "54f89b578758e2bf2650b647ae1c7100c882a757",
      "parents": [
        "3167e12c0c424f3c323944701615343022d86418"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:55 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:53 2005 -0400"
      },
      "message": "[PATCH] RPC: parametrize various transport connect timeouts\n\n Each transport implementation can now set unique bind, connect,\n reestablishment, and idle timeout values.  These are variables,\n allowing the values to be modified dynamically.  This permits\n exponential backoff of any of these values, for instance.\n\n As an example, we implement exponential backoff for the connection\n reestablishment timeout.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3167e12c0c424f3c323944701615343022d86418",
      "tree": "952961988fe19c19fc63f9cffb5edb4566f3527f",
      "parents": [
        "529b33c6db0120126b1381faa51406dc463acdc9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:55 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:52 2005 -0400"
      },
      "message": "[PATCH] RPC: make sure to get the same local port number when reconnecting\n\n Implement a best practice: if the remote end drops our connection, try to\n reconnect using the same port number.  This is important because the NFS\n server\u0027s Duplicate Reply Cache often hashes on the source port number.\n If the client reuses the port number when it reconnects, the server\u0027s DRC\n will be more effective.\n\n Based on suggestions by Mike Eisler, Olaf Kirch, and Alexey Kuznetsky.\n\n Test-plan:\n Destructive testing.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "529b33c6db0120126b1381faa51406dc463acdc9",
      "tree": "4856a23687aa891f6a5d1c45db80190b90b0fc68",
      "parents": [
        "555ee3af161b037865793bd4bebc06b58daafde6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:54 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:50 2005 -0400"
      },
      "message": "[PATCH] RPC: allow RPC client\u0027s port range to be adjustable\n\n Select an RPC client source port between 650 and 1023 instead of between\n 1 and 800.  The old range conflicts with a number of network services.\n Provide sysctls to allow admins to select a different port range.\n\n Note that this doesn\u0027t affect user-level RPC library behavior, which\n still uses 1 to 800.\n\n Based on a suggestion by Olaf Kirch \u003cokir@suse.de\u003e.\n\n Test-plan:\n Repeated mount and unmount.  Destructive testing.  Idle timeouts.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "555ee3af161b037865793bd4bebc06b58daafde6",
      "tree": "4c72474dabffab62234db158e5b6c86ace4f9d09",
      "parents": [
        "ed63c003701a314c4893c11eceb9d68f8f46c662"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:54 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:48 2005 -0400"
      },
      "message": "[PATCH] RPC: clean up after nocong was removed\n\n Clean-up:  Move some macros that are specific to the Van Jacobson\n implementation into xprt.c.  Get rid of the cong_wait field in\n rpc_xprt, which is no longer used.  Get rid of xprt_clear_backlog.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "ed63c003701a314c4893c11eceb9d68f8f46c662"
}
