)]}'
{
  "log": [
    {
      "commit": "5f707eb429e2c98dfd564ffbbd9f536bf493d869",
      "tree": "5b17c3f51daa9a47959cdf320696a56c72faa70d",
      "parents": [
        "eac0d18d44705f8a1b72cccec3a453e1a43eb20a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:42 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:42 2008 -0400"
      },
      "message": "SUNRPC: Fix potential race in put_rpccred()\n\nWe have to be careful when we try to unhash the credential in\nput_rpccred(), because we\u0027re not holding the credcache lock, so the call to\nrpcauth_unhash_cred() may fail if someone else has looked the cred up, and\nobtained a reference to it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eac0d18d44705f8a1b72cccec3a453e1a43eb20a",
      "tree": "b727174dba608adc5c4cbfaea9e19b2c6ac1cf26",
      "parents": [
        "ae05f269400533cbb32bfba131ab528d78dffd16"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:41 2008 -0400"
      },
      "message": "SUNRPC: Fix rpcauth_prune_expired\n\nWe need to make sure that we don\u0027t remove creds from the cred_unused list\nif they are still under the moratorium, or else they will never get\ngarbage collected.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2a9e1cfa23fb62da37739af81127dab5af095d99",
      "tree": "3fdb86f69ea598163f7096e1f85fd8f5c86bb896",
      "parents": [
        "e946217e4fdaa67681bbabfa8e6b18641921f750"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:39 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:39 2008 -0400"
      },
      "message": "SUNRPC: Respond promptly to server TCP resets\n\nIf the server sends us an RST error while we\u0027re in the TCP_ESTABLISHED\nstate, then that will not result in a state change, and so the RPC client\nends up hanging forever (see\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11154)\n\nWe can intercept the reset by setting up an sk-\u003esk_error_report callback,\nwhich will then allow us to initiate a proper shutdown and retry...\n\nWe also make sure that if the send request receives an ECONNRESET, then we\nshutdown too...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b225ee5bed70254a100896c473e6dd8c2be45c18",
      "tree": "2f044d5898d15edcff858f624618c788d5b58760",
      "parents": [
        "2e532d68a2b3e2aa6b19731501222069735c741c",
        "95a5afca4a8d2e1cb77e1d4bc6ff9f718dc32f7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 08:58:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 08:58:52 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely)\n  ipv4: Add a missing rcu_assign_pointer() in routing cache.\n  [netdrvr] ibmtr: PCMCIA IBMTR is ok on 64bit\n  xen-netfront: Avoid unaligned accesses to IP header\n  lmc: copy_*_user under spinlock\n  [netdrvr] myri10ge, ixgbe: remove broken select INTEL_IOATDMA\n"
    },
    {
      "commit": "95a5afca4a8d2e1cb77e1d4bc6ff9f718dc32f7a",
      "tree": "15452d28df4e4d76fc1276e791a7cc3c6e1a9b3a",
      "parents": [
        "00269b54edbf25f3bb0dccb558ae23a6fc77ed86"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "message": "net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely)\n\nSome code here depends on CONFIG_KMOD to not try to load\nprotocol modules or similar, replace by CONFIG_MODULES\nwhere more than just request_module depends on CONFIG_KMOD\nand and also use try_then_request_module in ebtables.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6925bac120097b823fc990c143b9789c21cc60b5",
      "tree": "0f92e1b22122fba623aeff4c271c16df673244eb",
      "parents": [
        "04ab591808565f968d4406f6435090ad671ebdab",
        "011935a0a710c20bb7ae63523b78856848db1926"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 15 15:54:56 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 15 15:54:56 2008 -0400"
      },
      "message": "Merge branch \u0027next\u0027\n"
    },
    {
      "commit": "8acd3a60bcca17c6d89c73cee3ad6057eb83ba1e",
      "tree": "d610c8d39246c33c499ee9d92d302d3ca9e89ae3",
      "parents": [
        "c269bc00fcb876ae3b85f178f1e34601185c8ccc",
        "107e0008dfb8bd6366bc8827f5bbbc0c1f795d2d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 14 12:31:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 14 12:31:14 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.28\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.28\u0027 of git://linux-nfs.org/~bfields/linux: (59 commits)\n  svcrdma: Fix IRD/ORD polarity\n  svcrdma: Update svc_rdma_send_error to use DMA LKEY\n  svcrdma: Modify the RPC reply path to use FRMR when available\n  svcrdma: Modify the RPC recv path to use FRMR when available\n  svcrdma: Add support to svc_rdma_send to handle chained WR\n  svcrdma: Modify post recv path to use local dma key\n  svcrdma: Add a service to register a Fast Reg MR with the device\n  svcrdma: Query device for Fast Reg support during connection setup\n  svcrdma: Add FRMR get/put services\n  NLM: Remove unused argument from svc_addsock() function\n  NLM: Remove \"proto\" argument from lockd_up()\n  NLM: Always start both UDP and TCP listeners\n  lockd: Remove unused fields in the nlm_reboot structure\n  lockd: Add helper to sanity check incoming NOTIFY requests\n  lockd: change nlmclnt_grant() to take a \"struct sockaddr *\"\n  lockd: Adjust nlmsvc_lookup_host() to accomodate AF_INET6 addresses\n  lockd: Adjust nlmclnt_lookup_host() signature to accomodate non-AF_INET\n  lockd: Support non-AF_INET addresses in nlm_lookup_host()\n  NLM: Convert nlm_lookup_host() to use a single argument\n  svcrdma: Add Fast Reg MR Data Types\n  ...\n"
    },
    {
      "commit": "113aa838ec3a235d883f8357d31d90e16c47fc89",
      "tree": "4e25254fb0402aea01074244879f574e213a9f31",
      "parents": [
        "510149e31974fdbb2c00c9bee6c0e2a688e61c85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "message": "net: Rationalise email address: Network Specific Parts\n\nClean up the various different email addresses of mine listed in the code\nto a single current and valid address. As Dave says his network merges\nfor 2.6.28 are now done this seems a good point to send them in where\nthey won\u0027t risk disrupting real changes.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c055551e97e1ca00781bc41523f829e05a8afed7",
      "tree": "6e4743b84b176788174b66c756b98562ce956a1b",
      "parents": [
        "08ca0dce1eafa419059ac4cad9ed522af7052526"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Fri Oct 10 11:32:45 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:15:06 2008 -0400"
      },
      "message": "RPC/RDMA: ensure connection attempt is complete before signalling.\n\nThe RPC/RDMA connection logic could return early from reconnection\nattempts, leading to additional spurious retries.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "08ca0dce1eafa419059ac4cad9ed522af7052526",
      "tree": "76724d885bcfc89db261f119a6f38a8cbb1a6240",
      "parents": [
        "b3cd8d45a764e6edb06e7bd386faf99a879569b8"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Fri Oct 10 11:32:34 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:15:02 2008 -0400"
      },
      "message": "RPC/RDMA: correct the reconnect timer backoff\n\nThe RPC/RDMA code had a constant 5-second reconnect backoff, and\nalways performed it, even when re-establishing a connection to a\nserver after the RPC layer closed it due to being idle. Make it\nan geometric backoff (up to 30 seconds), and don\u0027t delay idle\nreconnect.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b3cd8d45a764e6edb06e7bd386faf99a879569b8",
      "tree": "e77218bd80d3b9c6ba64b2ff304375458486e514",
      "parents": [
        "5f37d561e0f0cd98017c389cbc22080290f11c3c"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:02:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:13:59 2008 -0400"
      },
      "message": "RPC/RDMA: optionally emit useful transport info upon connect/disconnect.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5f37d561e0f0cd98017c389cbc22080290f11c3c",
      "tree": "747b34df0fa4d36c7597571a9120513dd8aa8609",
      "parents": [
        "5675add36e76b9487e7f9e689f854cb8d6afd9b4"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:52 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:13:42 2008 -0400"
      },
      "message": "RPC/RDMA: reformat a debug printk to keep lines together.\n\nThe send marshaling code split a particular dprintk across two\nlines, which makes it hard to extract from logfiles.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5675add36e76b9487e7f9e689f854cb8d6afd9b4",
      "tree": "414b5e26b099c6aa42ee989925c0dfb8b717366e",
      "parents": [
        "1a954051b0cf79bd67e5f9db40333e3a9b1d05d2"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:13:31 2008 -0400"
      },
      "message": "RPC/RDMA: harden connection logic against missing/late rdma_cm upcalls.\n\nAdd defensive timeouts to wait_for_completion() calls in RDMA\naddress resolution, and make them interruptible. Fix the timeout\nunits to milliseconds (formerly jiffies) and move to private header.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1a954051b0cf79bd67e5f9db40333e3a9b1d05d2",
      "tree": "48a0e5f876776865552cfce522ebee604da30fbb",
      "parents": [
        "926449ba66ce2a45c619bbe755b00d6bdbf0d83e"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:31 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:13:02 2008 -0400"
      },
      "message": "RPC/RDMA: fix connect/reconnect resource leak.\n\nThe RPC/RDMA code can leak RDMA connection manager endpoints in\ncertain error cases on connect. Don\u0027t signal unwanted events,\nand be certain to destroy any allocated qp.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "926449ba66ce2a45c619bbe755b00d6bdbf0d83e",
      "tree": "94bebe684f2d9c1e2954843e571cb2657e75ac05",
      "parents": [
        "9191ca3b381b15b9a88785a8ae2fa4db8e553b0c"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:21 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:12:44 2008 -0400"
      },
      "message": "RPC/RDMA: return a consistent error, when connect fails.\n\nThe xprt_connect call path does not expect such errors as ECONNREFUSED\nto be returned from failed transport connection attempts, otherwise it\ntranslates them to EIO and signals fatal errors. For example, mount.nfs\nprints simply \"internal error\". Translate all such errors to ENOTCONN\nfrom RPC/RDMA to match sockets behavior.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9191ca3b381b15b9a88785a8ae2fa4db8e553b0c",
      "tree": "7357b4009fefff106adab972f0572b3d4e105fa0",
      "parents": [
        "fee08caf943e8ed3446ce42fa085b5e7e5f08d92"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:12:33 2008 -0400"
      },
      "message": "RPC/RDMA: adhere to protocol for unpadded client trailing write chunks.\n\nThe RPC/RDMA protocol allows clients and servers to avoid RDMA\noperations for data which is purely the result of XDR padding.\nOn the client, automatically insert the necessary padding for\nsuch server replies, and optionally don\u0027t marshal such chunks.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fee08caf943e8ed3446ce42fa085b5e7e5f08d92",
      "tree": "21419677bd5210c7a9068b698c23e52cd385f530",
      "parents": [
        "ad0e9e01da4ece70ff524b49c77c5e850d5dd53e"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:00 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:11:40 2008 -0400"
      },
      "message": "RPC/RDMA: avoid an oops due to disconnect racing with async upcalls.\n\nRDMA disconnects yield an upcall from the RDMA connection manager,\nwhich can race with rpc transport close, e.g. on ^C of a mount.\nEnsure any rdma cm_id and qp are fully destroyed before continuing.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ad0e9e01da4ece70ff524b49c77c5e850d5dd53e",
      "tree": "bf8f2ee9e7c900b495bc7fd589045c3b407bc791",
      "parents": [
        "575448bd36208f99fe0dd554a43518d798966740"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:00:50 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:10:40 2008 -0400"
      },
      "message": "RPC/RDMA: maintain the RPC task bytes-sent statistic.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "575448bd36208f99fe0dd554a43518d798966740",
      "tree": "191d98d11586952ec961c56b58335cc76346b4b6",
      "parents": [
        "b334eaabf4f92226d2df13c613888a507f03da99"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:00:40 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:10:36 2008 -0400"
      },
      "message": "RPC/RDMA: suppress retransmit on RPC/RDMA clients.\n\nAn RPC/RDMA client cannot retransmit on an unbroken connection,\ndoing so violates its flow control with the server.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b334eaabf4f92226d2df13c613888a507f03da99",
      "tree": "da3ce699ec10898dd41483e52c6e99805be6f363",
      "parents": [
        "3197d309f5fb042499b2c4c8f2fcb67372df5201"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu Oct 09 15:00:30 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:09:56 2008 -0400"
      },
      "message": "RPC/RDMA: fix connection IRD/ORD setting\n\nThis logic sets the connection parameter that configures the local device\nand informs the remote peer how many concurrent incoming RDMA_READ\nrequests are supported. The original logic didn\u0027t really do what was\nintended for two reasons:\n\n- The max number supported by the device is typically smaller than\nany one factor in the calculation used, and\n\n- The field in the connection parameter structure where the value is\nstored is a u8 and always overflows for the default settings.\n\nSo what really happens is the value requested for responder resources\nis the left over 8 bits from the \"desired value\". If the desired value\nhappened to be a multiple of 256, the result was zero and it wouldn\u0027t\nconnect at all.\n\nGiven the above and the fact that max_requests is almost always larger\nthan the max responder resources supported by the adapter, this patch\nsimplifies this logic and simply requests the max supported by the device,\nsubject to a reasonable limit.\n\nThis bug was found by Jim Schutt at Sandia.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3197d309f5fb042499b2c4c8f2fcb67372df5201",
      "tree": "a4cca3420bc99e44af00806abe4a265d539d9c24",
      "parents": [
        "bd7ed1d13304d914648dacec4dbb9145aaae614e"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:00:20 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:09:34 2008 -0400"
      },
      "message": "RPC/RDMA: support FRMR client memory registration.\n\nConfigure, detect and use \"fastreg\" support from IB/iWARP verbs\nlayer to perform RPC/RDMA memory registration.\n\nMake FRMR the default memreg mode (will fall back if not supported\nby the selected RDMA adapter).\n\nThis allows full and optimal operation over the cxgb3 adapter, and others.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nAcked-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bd7ed1d13304d914648dacec4dbb9145aaae614e",
      "tree": "a0eee0c8304ab4bab7baca4675ebf8fffef1e288",
      "parents": [
        "fe9053b30bb48b99f7b45541249f5cfe96bdf7f7"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:00:09 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:09:26 2008 -0400"
      },
      "message": "RPC/RDMA: check selected memory registration mode at runtime.\n\nAt transport creation, check for, and use, any local dma lkey.\nThen, check that the selected memory registration mode is in fact\nsupported by the RDMA adapter selected for the mount. Fall back\nto best alternative if not.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nAcked-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fe9053b30bb48b99f7b45541249f5cfe96bdf7f7",
      "tree": "41904e855b60678ae8788e68e8a5944d686b31e3",
      "parents": [
        "8d4ba0347ccfea4f12e56e2484954b891411b74d"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 14:59:59 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:09:24 2008 -0400"
      },
      "message": "RPC/RDMA: add data types and new FRMR memory registration enum.\n\nInternal RPC/RDMA structure updates in preparation for FRMR support.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nAcked-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8d4ba0347ccfea4f12e56e2484954b891411b74d",
      "tree": "839874b3462d28a2876abf0868aa9a6d2c4780b2",
      "parents": [
        "5e2e7721f04c11e6dc4a74b33f05a0e1c0381e2e"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 14:59:49 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:09:16 2008 -0400"
      },
      "message": "RPC/RDMA: refactor the inline memory registration code.\n\nRefactor the memory registration and deregistration routines.\nThis saves stack space, makes the code more readable and prepares\nto add the new FRMR registration methods.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "107e0008dfb8bd6366bc8827f5bbbc0c1f795d2d",
      "tree": "12d6be652e3de5cfcfcec5fe0bc37e4b1d983b44",
      "parents": [
        "2937391385807b3da9cd7a39345259caf550b032",
        "67080c82361b7510b602c87b83399421aa2d2895"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Oct 08 18:22:18 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Oct 08 18:22:18 2008 -0400"
      },
      "message": "Merge branch \u0027from-tomtucker\u0027 into for-2.6.28\n"
    },
    {
      "commit": "63ffc23d307c9534c732edd87895e37b223004a3",
      "tree": "407ae7e2e017f951927b09299c2ec1bf7d0c9987",
      "parents": [
        "d7fb120774f062ce7db439863ab5d4190d6f989c"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Fri Oct 03 23:41:51 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 07 18:19:10 2008 -0400"
      },
      "message": "sunrpc: fix oops in rpc_create when the mount namespace is unshared\n\nOn a system with nfs mounts, if a task unshares its mount namespace,\na oops can occur when the system is rebooted if the task is the last\nto unreference the nfs mount. It will try to create a rpc request\nusing utsname() which has been invalidated by free_nsproxy().\n\nThe patch fixes the issue by using the global init_utsname() which is\nalways valid. the capability of identifying rpc clients per uts namespace\nstills needs some extra work so this should not be a problem.\n\nBUG: unable to handle kernel NULL pointer dereference at 00000004\nIP: [\u003cc024c9ab\u003e] rpc_create+0x332/0x42f\nOops: 0000 [#1] DEBUG_PAGEALLOC\n\nPid: 1857, comm: uts-oops Not tainted (2.6.27-rc5-00319-g7686ad5 #4)\nEIP: 0060:[\u003cc024c9ab\u003e] EFLAGS: 00210287 CPU: 0\nEIP is at rpc_create+0x332/0x42f\nEAX: 00000000 EBX: df26adf0 ECX: c0251887 EDX: 00000001\nESI: df26ae58 EDI: c02f293c EBP: dda0fc9c ESP: dda0fc2c\n DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068\nProcess uts-oops (pid: 1857, ti\u003ddda0e000 task\u003ddd9a0778 task.ti\u003ddda0e000)\nStack: c0104532 dda0fffc dda0fcac dda0e000 dda0e000 dd93b7f0 00000009 c02f2880\n       df26aefc dda0fc68 c01096b7 00000000 c0266ee0 c039a070 c039a070 dda0fc74\n       c012ca67 c039a064 dda0fc8c c012cb20 c03daf74 00000011 00000000 c0275c90\nCall Trace:\n [\u003cc0104532\u003e] ? dump_trace+0xc2/0xe2\n [\u003cc01096b7\u003e] ? save_stack_trace+0x1c/0x3a\n [\u003cc012ca67\u003e] ? save_trace+0x37/0x8c\n [\u003cc012cb20\u003e] ? add_lock_to_list+0x64/0x96\n [\u003cc0256fc4\u003e] ? rpcb_register_call+0x62/0xbb\n [\u003cc02570c8\u003e] ? rpcb_register+0xab/0xb3\n [\u003cc0252f4d\u003e] ? svc_register+0xb4/0x128\n [\u003cc0253114\u003e] ? svc_destroy+0xec/0x103\n [\u003cc02531b2\u003e] ? svc_exit_thread+0x87/0x8d\n [\u003cc01a75cd\u003e] ? lockd_down+0x61/0x81\n [\u003cc01a577b\u003e] ? nlmclnt_done+0xd/0xf\n [\u003cc01941fe\u003e] ? nfs_destroy_server+0x14/0x16\n [\u003cc0194328\u003e] ? nfs_free_server+0x4c/0xaa\n [\u003cc019a066\u003e] ? nfs_kill_super+0x23/0x27\n [\u003cc0158585\u003e] ? deactivate_super+0x3f/0x51\n [\u003cc01695d1\u003e] ? mntput_no_expire+0x95/0xb4\n [\u003cc016965b\u003e] ? release_mounts+0x6b/0x7a\n [\u003cc01696cc\u003e] ? __put_mnt_ns+0x62/0x70\n [\u003cc0127501\u003e] ? free_nsproxy+0x25/0x80\n [\u003cc012759a\u003e] ? switch_task_namespaces+0x3e/0x43\n [\u003cc01275a9\u003e] ? exit_task_namespaces+0xa/0xc\n [\u003cc0117fed\u003e] ? do_exit+0x4fd/0x666\n [\u003cc01181b3\u003e] ? do_group_exit+0x5d/0x83\n [\u003cc011fa8c\u003e] ? get_signal_to_deliver+0x2c8/0x2e0\n [\u003cc0102630\u003e] ? do_notify_resume+0x69/0x700\n [\u003cc011d85a\u003e] ? do_sigaction+0x134/0x145\n [\u003cc0127205\u003e] ? hrtimer_nanosleep+0x8f/0xce\n [\u003cc0126d1a\u003e] ? hrtimer_wakeup+0x0/0x1c\n [\u003cc0103488\u003e] ? work_notifysig+0x13/0x1b\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: 70 20 68 cb c1 2c c0 e8 75 4e 01 00 8b 83 ac 00 00 00 59 3d 00 f0 ff ff 5f 77 63 eb 57 a1 00 80 2d c0 8b 80 a8 02 00 00 8d 73 68 \u003c8b\u003e 40 04 83 c0 45 e8 41 46 f7 ff ba 20 00 00 00 83 f8 21 0f 4c\nEIP: [\u003cc024c9ab\u003e] rpc_create+0x332/0x42f SS:ESP 0068:dda0fc2c\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96165e2b7c4e2c82a0b60c766d4a2036444c21a0",
      "tree": "8adfc4f16a674671671d8bb27270feb84400260f",
      "parents": [
        "9a4bd29fe8f6d3f015fe1c8e5450eb62cfebfcc9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 03 16:48:40 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 07 18:18:57 2008 -0400"
      },
      "message": "SUNRPC: Fix a memory leak in rpcb_getport_async\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9a4bd29fe8f6d3f015fe1c8e5450eb62cfebfcc9",
      "tree": "c3175a0a07ecf41f8eae1204ef5f5421c4b023f5",
      "parents": [
        "d1ce02e1689dff9d413138f60a79b4e3affb4708"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 03 16:48:34 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 07 18:18:53 2008 -0400"
      },
      "message": "SUNRPC: Fix autobind on cloned rpc clients\n\nDespite the fact that cloned rpc clients won\u0027t have the cl_autobind flag\nset, they may still find themselves calling rpcb_getport_async(). For this\nto happen, it suffices for a _parent_ rpc_clnt to use autobinding, in which\ncase any clone may find itself triggering the !xprt_bound() case in\ncall_bind().\n\nThe correct fix for this is to walk back up the tree of cloned rpc clients,\nin order to find the parent that \u0027owns\u0027 the transport, either because it\nhas clnt-\u003ecl_autobind set, or because it originally created the\ntransport...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c9f6cde6e26ef98ee9c4b6288b126ac9c580d88b",
      "tree": "03dcbf503e457df3adeb4f9442fc6fc061fca057",
      "parents": [
        "fd08d7e9d196ca49afcce0181f1f0ca68f241aa2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jul 31 09:53:56 2008 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 07 18:14:54 2008 -0400"
      },
      "message": "sunrpc: do not pin sunrpc module in the memory\n\nBasically, try_module_get here are pretty useless. Any other module using\nthis API will pin sunrpc in memory due using exported symbols.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "67080c82361b7510b602c87b83399421aa2d2895",
      "tree": "4003f47552ac28b54a75826e7230c711e7b64f45",
      "parents": [
        "04911b539c9817aa88a6da8f563e65e3e0bc974b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Fri Oct 03 12:41:14 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:46:13 2008 -0500"
      },
      "message": "svcrdma: Fix IRD/ORD polarity\n\nThe inititator/responder resources in the event have been swapped. They\nno represent what the local peer would set their values to in order to\nmatch the peer. Note that iWARP does not exchange these on the wire and\nthe provider is simply putting in the local device max.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "04911b539c9817aa88a6da8f563e65e3e0bc974b",
      "tree": "9379440a4ca2a972d02d35feb3ac6ab0419e96c4",
      "parents": [
        "afd566ea080572499cc01d42d2f578bf4b54f20f"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Aug 11 15:14:53 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:46:08 2008 -0500"
      },
      "message": "svcrdma: Update svc_rdma_send_error to use DMA LKEY\n\nUpdate the svc_rdma_send_error code to use the DMA LKEY which is valid\nregardless of the memory registration strategy in use.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "afd566ea080572499cc01d42d2f578bf4b54f20f",
      "tree": "cbd0c55f27cfd0a432bf669d6db4cbe0e595a2bf",
      "parents": [
        "146b6df6a537939570c5772ebd7db826fdbd5d82"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Fri Oct 03 15:45:03 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:46:05 2008 -0500"
      },
      "message": "svcrdma: Modify the RPC reply path to use FRMR when available\n\nUse FRMR to map local RPC reply data. This allows RDMA_WRITE to send reply\ndata using a single WR. The FRMR is invalidated by linking the LOCAL_INV WR\nto the RDMA_SEND message used to complete the reply.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "146b6df6a537939570c5772ebd7db826fdbd5d82",
      "tree": "1acf55f3244719e543fb5f6eed6de11c5dd3110e",
      "parents": [
        "5b180a9a64ca2217a658bd515ef910eafefc5e5a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue Aug 12 15:12:10 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:46:01 2008 -0500"
      },
      "message": "svcrdma: Modify the RPC recv path to use FRMR when available\n\nRPCRDMA requests that specify a read-list are fetched with RDMA_READ. Using\nan FRMR to map the data sink improves NFSRDMA security on transports that\nplace the RDMA_READ data sink LKEY on the wire because the valid lifetime\nof the MR is only the duration of the RDMA_READ. The LKEY is invalidated\nwhen the last RDMA_READ WR completes.\n\nMapping the data sink also allows for very large amounts to data to be\nfetched with a single WR, so if the client is also using FRMR, the entire\nRPC read-list can be fetched with a single WR.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "5b180a9a64ca2217a658bd515ef910eafefc5e5a",
      "tree": "61fe08b958b3707be0a516677f72216c06217edd",
      "parents": [
        "a5abf4e81545d9c7280c49cae853cc45fd769ddf"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Aug 11 14:10:19 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:56 2008 -0500"
      },
      "message": "svcrdma: Add support to svc_rdma_send to handle chained WR\n\nWR can be submitted as linked lists of WR. Update the svc_rdma_send\nroutine to handle WR chains. This will be used to submit a WR that\nuses an FRMR with another WR that invalidates the FRMR.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "a5abf4e81545d9c7280c49cae853cc45fd769ddf",
      "tree": "fef48a88715bac9bfdca3e00aa1ed6afb1177004",
      "parents": [
        "e1183210625cc8e02ce13eec78fb7a246567fc59"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue Sep 30 14:05:41 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:52 2008 -0500"
      },
      "message": "svcrdma: Modify post recv path to use local dma key\n\nUpdate the svc_rdma_post_recv routine to use the adapter\u0027s global LKEY\ninstead of sc_phys_mr which is only valid when using a DMA MR.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "e1183210625cc8e02ce13eec78fb7a246567fc59",
      "tree": "c01cb7326fb64b899cc375bbadcea0e4579c6043",
      "parents": [
        "3a5c63803d0552a3ad93b85c262f12cd86471443"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Fri Oct 03 15:22:18 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:49 2008 -0500"
      },
      "message": "svcrdma: Add a service to register a Fast Reg MR with the device\n\nFast Reg MR introduces a new WR type. Add a service to register the\nregion with the adapter and update the completion handling to support\ncompletions with a NULL WR context.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "3a5c63803d0552a3ad93b85c262f12cd86471443",
      "tree": "aec8f9e66b2ac4258a7e379be5ce9abd5670da49",
      "parents": [
        "64be8608c163bd480cf5ec4b34366f11e0f3c87f"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue Sep 30 13:46:13 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:45 2008 -0500"
      },
      "message": "svcrdma: Query device for Fast Reg support during connection setup\n\nQuery the device capabilities in the svc_rdma_accept function to determine\nwhat advanced memory management capabilities are supported by the device.\nBased on the query, select the most secure model available given the\nrequirements of the transport and capabilities of the adapter.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "64be8608c163bd480cf5ec4b34366f11e0f3c87f",
      "tree": "e0a2499259c799d1ac97935107a25c4cefd7cb0c",
      "parents": [
        "0d3ebb9ae9f9c887518fd4c81a68084111d154d7"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:18 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:18 2008 -0500"
      },
      "message": "svcrdma: Add FRMR get/put services\n\nAdd services for the allocating, freeing, and unmapping Fast Reg MR. These\nservices will be used by the transport connection setup, send and receive\nroutines.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "2937391385807b3da9cd7a39345259caf550b032",
      "tree": "6b75733afd1c5eb9a847c72b0c745ffc24aef559",
      "parents": [
        "26a414092353590ceaa5955bcb53f863d6ea7549"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Oct 03 17:15:38 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Oct 04 17:12:27 2008 -0400"
      },
      "message": "NLM: Remove unused argument from svc_addsock() function\n\nClean up: The svc_addsock() function no longer uses its \"proto\"\nargument, so remove it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d5b337b4877f7c4e1d761434ee04d045b0201e03",
      "tree": "0c31c4cfb0f2010a87b0f1ae7246cbd50068306e",
      "parents": [
        "97eb89bb0e5d9ab20dbc677cb18fad1421473287"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun Sep 28 09:21:26 2008 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "nfsd: use nfs client rpc callback program\n\nsince commit ff7d9756b501744540be65e172d27ee321d86103\n\"nfsd: use static memory for callback program and stats\"\ndo_probe_callback uses a static callback program\n(NFS4_CALLBACK) rather than the one set in clp-\u003ecl_callback.cb_prog\nas passed in by the client in setclientid (4.0)\nor create_session (4.1).\n\nThis patches introduces rpc_create_args.prognumber that allows\noverriding program-\u003enumber when creating rpc_clnt.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "db820d6376aa81accf5b648651e160fd76e363e2",
      "tree": "b9447d4316b7319dd9675b9e93b4fdcc07d209a2",
      "parents": [
        "f6fb3f6f591b50fa4f51962ad06ee0d8782e1bc8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Sep 25 11:57:05 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "SUNRPC: Clean up debug messages in rpcb_clnt.c\n\nThe RPCB XDR functions are used for multiple procedures.  For instance,\nrpcb_encode_getaddr() is used for RPCB_GETADDR, RPCB_SET, and\nRPCB_UNSET.  Make the XDR debug messages more generic so they are less\nconfusing.\n\nAnd, unlike in other RPC consumers in the kernel, a single debug flag\nenables all levels of debug messages in the RPC bind client, including\nXDR debug messages.  Since the XDR decoders already report success or\nfailure in this case, remove redundant debug messages in the mid-level\nrpcb_register_call() function.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f6fb3f6f591b50fa4f51962ad06ee0d8782e1bc8",
      "tree": "2a50459b61ffdecac33bf99f41a24ce521994f1d",
      "parents": [
        "9d548b9c955c0709d1229d21d0bc14afa6b356de"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Sep 25 11:56:57 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "SUNRPC: Fix up svc_unregister()\n\nWith the new rpcbind code, a PMAP_UNSET will not have any effect on\nservices registered via rpcbind v3 or v4.\n\nImplement a version of svc_unregister() that uses an RPCB_UNSET with\nan empty netid string to make sure we have cleared *all* entries for\na kernel RPC service when shutting down, or before starting a fresh\ninstance of the service.\n\nUse the new version only when CONFIG_SUNRPC_REGISTER_V4 is enabled;\notherwise, the legacy PMAP version is used to ensure complete\nbackwards-compatibility with the Linux portmapper daemon.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9d548b9c955c0709d1229d21d0bc14afa6b356de",
      "tree": "99a742858c6ad53d4bc790aa096561f18c97a5b0",
      "parents": [
        "2c7eb0b206b8408d92c518033a359f4374c75314"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Sep 15 16:27:30 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "SUNRPC: Use short-hand IPv6 ANYADDR for RPCB_SET\n\nClean up: When doing an RPCB_SET, make the kernel\u0027s rpcb client use the\nshorthand \"::\" for the universal form of the IPv6 ANY address.\n\nWithout this patch, rpcbind will advertise:\n\n  0000:0000:0000:0000:0000:0000:0000:0000.x.y\n\nThis is cosmetic only.  It cleans up the display of information from\n/sbin/rpcinfo.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2c7eb0b206b8408d92c518033a359f4374c75314",
      "tree": "fb3e01b4ede433ec53856574ef683fe54583f2df",
      "parents": [
        "e018040a824ab48211a1fcb86acebc9fc84759b0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Sep 15 16:27:23 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:39 2008 -0400"
      },
      "message": "SUNRPC: Register both netids for AF_INET6 servers\n\nTI-RPC is a user-space library of RPC functions that replaces ONC RPC\nand allows RPC to operate in the new world of IPv6.\n\nTI-RPC combines the concept of a transport protocol (UDP and TCP)\nand a protocol family (PF_INET and PF_INET6) into a single identifier\ncalled a \"netid.\"  For example, \"udp\" means UDP over IPv4, and \"udp6\"\nmeans UDP over IPv6.\n\nFor rpcbind, then, the RPC service tuple that is registered and\nadvertised is:\n\n  [RPC program, RPC version, service address and port, netid]\n\ninstead of\n\n  [RPC program, RPC version, port, protocol]\n\nService address is typically ANYADDR, but can be a specific address\nof one of the interfaces on a multi-homed host.  The third item in\nthe new tuple is expressed as a universal address.\n\nThe current Linux rpcbind implementation registers a netid for both\nprotocol families when RPCB_SET is done for just the PF_INET6 version\nof the netid (ie udp6 or tcp6).  So registering \"udp6\" causes a\nregistration for \"udp\" to appear automatically as well.\n\nWe\u0027ve recently determined that this is incorrect behavior.  In the\nTI-RPC world, \"udp6\" is not meant to imply that the registered RPC\nservice handles requests from AF_INET as well, even if the listener\nsocket does address mapping.  \"udp\" and \"udp6\" are entirely separate\ncapabilities, and must be registered separately.\n\nThe Linux kernel, unlike TI-RPC, leverages address mapping to allow a\nsingle listener socket to handle requests for both AF_INET and AF_INET6.\nThis is still OK, but the kernel currently assumes registering \"udp6\"\nwill cover \"udp\" as well.  It registers only \"udp6\" for it\u0027s AF_INET6\nservices, even though they handle both AF_INET and AF_INET6 on the same\nport.\n\nSo svc_register() actually needs to register both \"udp\" and \"udp6\"\nexplicitly (and likewise for TCP).  Until rpcbind is fixed, the\nkernel can ignore the return code for the second RPCB_SET call.\n\nPlease merge this with commit 15231312:\n\n    SUNRPC: Support IPv6 when registering kernel RPC services\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a26cfad6e0a308a2c68df1f1ef50aabd48b17e6d",
      "tree": "9d200a635720bde73b66fd96e4db9e7ff9be3af7",
      "parents": [
        "7252d575ab0e8771269a3d245c36a05ace5152bd"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:34:16 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:38 2008 -0400"
      },
      "message": "SUNRPC: Support IPv6 when registering kernel RPC services\n\nIn order to advertise NFS-related services on IPv6 interfaces via\nrpcbind, the kernel RPC server implementation must use\nrpcb_v4_register() instead of rpcb_register().\n\nA new kernel build option allows distributions to use the legacy\nv2 call until they integrate an appropriate user-space rpcbind\ndaemon that can support IPv6 RPC services.\n\nI tried adding some automatic logic to fall back if registering\nwith a v4 protocol request failed, but there are too many corner\ncases.  So I just made it a compile-time switch that distributions\ncan throw when they\u0027ve replaced portmapper with rpcbind.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7252d575ab0e8771269a3d245c36a05ace5152bd",
      "tree": "e3a60421367bd4a2a01b823772dc40a2af64960a",
      "parents": [
        "14aeb2118d6e9fd9ee988324c740a00c80979093"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:34:08 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:38 2008 -0400"
      },
      "message": "SUNRPC: Split portmap unregister API into separate function\n\nCreate a separate server-level interface for unregistering RPC services.\n\nThe mechanics of, and the API for, registering and unregistering RPC\nservices will diverge further as support for IPv6 is added.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "14aeb2118d6e9fd9ee988324c740a00c80979093",
      "tree": "ca98af50a2e90fb782605ab6235c3a4b30c5b1a4",
      "parents": [
        "b6632339e3afbcbb438a3c8935190ea22464fc99"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:34:00 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:37 2008 -0400"
      },
      "message": "SUNRPC: Simplify rpcb_register() API\n\nBruce suggested there\u0027s no need to expose the difference between an error\nsending the PMAP_SET request and an error reply from the portmapper to\nrpcb_register\u0027s callers.  The user space equivalent of rpcb_register() is\npmap_set(3), which returns a bool_t : either the PMAP set worked, or it\ndidn\u0027t.  Simple.\n\nSo let\u0027s remove the \"*okay\" argument from rpcb_register() and\nrpcb_v4_register(), and simply return an error if any part of the call\ndidn\u0027t work.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b6632339e3afbcbb438a3c8935190ea22464fc99",
      "tree": "13fb088ceb8b18563c2eae311b0007783a612948",
      "parents": [
        "c8ab5f2a13fb41a878863c61a1e27d78f1844b5e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:33:44 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:37 2008 -0400"
      },
      "message": "SUNRPC: Set V6ONLY socket option for RPC listener sockets\n\nMy plan is to use an AF_INET listener on systems that support only IPv4,\nand an AF_INET6 listener on systems that can support IPv6. Incoming\nIPv4 packets will be posted to an AF_INET6 listener with a mapped IPv4\naddress.\n\nMax Matveev \u003cmakc@sgi.com\u003e says:\n  Creating a single listener can be dangerous - if net.ipv6.bindv6only\n  is enabled then it\u0027s possible to create another listener in v4\n  namespace on the same port and steal the traffic from the \"unifed\"\n  listener. You need to disable V6ONLY explicitly via a sockopt to stop\n  that.\n\nSet appropriate socket option on RPC server listener sockets to prevent\nthis.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5dd248f6f1ffe1f691fd66749e2a3dc8f8eb7b5e",
      "tree": "d6a69e23505080badaa9a6043dbb8d3044a0b73b",
      "parents": [
        "e851db5b05408b89b9a9429a66814b79fabee2a1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jun 30 18:45:37 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 17:56:56 2008 -0400"
      },
      "message": "SUNRPC: Use proper INADDR_ANY when setting up RPC services on IPv6\n\nTeach svc_create_xprt() to use the correct ANY address for AF_INET6 based\nRPC services.\n\nNo caller uses AF_INET6 yet.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e851db5b05408b89b9a9429a66814b79fabee2a1",
      "tree": "99bac979ed90efed99c89a49cb77719ab4c0a229",
      "parents": [
        "72d31053f62c4bc464c2783974926969614a8649"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jun 30 18:45:30 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 17:56:56 2008 -0400"
      },
      "message": "SUNRPC: Add address family field to svc_serv data structure\n\nIntroduce and initialize an address family field in the svc_serv structure.\n\nThis field will determine what family to use for the service\u0027s listener\nsockets and what families are advertised via the local rpcbind daemon.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6067804047b64dde89f4f133fc7eba48ee44107d",
      "tree": "abe87787c3ad2aee82e576c7d4128e29bb296ac0",
      "parents": [
        "a574420ff46cff0245e6b0fce2e961aa2717743d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Sep 20 22:20:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 22:20:49 2008 -0700"
      },
      "message": "net: Use hton[sl]() instead of __constant_hton[sl]() where applicable\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27df6f25ff218072e0e879a96beeb398a79cdbc8",
      "tree": "92156018e74a963b2abb94bd51a7e7d6b6a72f34",
      "parents": [
        "c228c24bf1138d4757dbe20615df655815446da3"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Sun Aug 31 19:25:49 2008 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 01 14:24:24 2008 -0400"
      },
      "message": "sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports\n\nVegard Nossum reported\n----------------------\n\u003e I noticed that something weird is going on with /proc/sys/sunrpc/transports.\n\u003e This file is generated in net/sunrpc/sysctl.c, function proc_do_xprt(). When\n\u003e I \"cat\" this file, I get the expected output:\n\u003e    $ cat /proc/sys/sunrpc/transports\n\u003e    tcp 1048576\n\u003e    udp 32768\n\n\u003e But I think that it does not check the length of the buffer supplied by\n\u003e userspace to read(). With my original program, I found that the stack was\n\u003e being overwritten by the characters above, even when the length given to\n\u003e read() was just 1.\n\nDavid Wagner added (among other things) that copy_to_user could be\nprobably used here.\n\nIngo Oeser suggested to use simple_read_from_buffer() here.\n\nThe conclusion is that proc_do_xprt doesn\u0027t check for userside buffer\nsize indeed so fix this by using Ingo\u0027s suggestion.\n\nReported-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCC: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Greg Banks \u003cgnb@sgi.com\u003e\nCc: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "24b8b44780a2c53ecb738f4a1c08d114f5eda27c",
      "tree": "f772e59438783c6230158ea65bd5aeb3f84f4202",
      "parents": [
        "30a2f3c60a84092c8084dfe788b710f8d0768cd4"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Aug 13 11:05:41 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Aug 13 16:57:31 2008 -0400"
      },
      "message": "svcrdma: Fix race between svc_rdma_recvfrom thread and the dto_tasklet\n\nRDMA_READ completions are kept on a separate queue from the general\nI/O request queue. Since a separate lock is used to protect the RDMA_READ\ncompletion queue, a race exists between the dto_tasklet and the\nsvc_rdma_recvfrom thread where the dto_tasklet sets the XPT_DATA\nbit and adds I/O to the read-completion queue. Concurrently, the\nrecvfrom thread checks the generic queue, finds it empty and resets\nthe XPT_DATA bit. A subsequent svc_xprt_enqueue will fail to enqueue\nthe transport for I/O and cause the transport to \"stall\".\n\nThe fix is to protect both lists with the same lock and set the XPT_DATA\nbit with this lock held.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "414f746d232d41ed6ae8632c4495ae795373c44b",
      "tree": "167f9bc8f139c6e82e6732b38c7a938b8a9d31cd",
      "parents": [
        "5a7a201c51c324876d00a54e7208af6af12d1ca4",
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06",
      "tree": "64090a84f4c4466f9f30ff46c993e0cede379052",
      "parents": [
        "c485b465a031b6f9b9a51300e0ee1f86efc6db87"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 25 19:44:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "dma-mapping: add the device argument to dma_mapping_error()\n\nAdd per-device dma_mapping_ops support for CONFIG_X86_64 as POWER\narchitecture does:\n\nThis enables us to cleanly fix the Calgary IOMMU issue that some devices\nare not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).\n\nI think that per-device dma_mapping_ops support would be also helpful for\nKVM people to support PCI passthrough but Andi thinks that this makes it\ndifficult to support the PCI passthrough (see the above thread).  So I\nCC\u0027ed this to KVM camp.  Comments are appreciated.\n\nA pointer to dma_mapping_ops to struct dev_archdata is added.  If the\npointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it\u0027s\nNULL, the system-wide dma_ops pointer is used as before.\n\nIf it\u0027s useful for KVM people, I plan to implement a mechanism to register\na hook called when a new pci (or dma capable) device is created (it works\nwith hot plugging).  It enables IOMMUs to set up an appropriate\ndma_mapping_ops per device.\n\nThe major obstacle is that dma_mapping_error doesn\u0027t take a pointer to the\ndevice unlike other DMA operations.  So x86 can\u0027t have dma_mapping_ops per\ndevice.  Note all the POWER IOMMUs use the same dma_mapping_error function\nso this is not a problem for POWER but x86 IOMMUs use different\ndma_mapping_error functions.\n\nThe first patch adds the device argument to dma_mapping_error.  The patch\nis trivial but large since it touches lots of drivers and dma-mapping.h in\nall the architecture.\n\nThis patch:\n\ndma_mapping_error() doesn\u0027t take a pointer to the device unlike other DMA\noperations.  So we can\u0027t have dma_mapping_ops per device.\n\nNote that POWER already has dma_mapping_ops per device but all the POWER\nIOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device\nargument.\n\n[akpm@linux-foundation.org: fix sge]\n[akpm@linux-foundation.org: fix svc_rdma]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix bnx2x]\n[akpm@linux-foundation.org: fix s2io]\n[akpm@linux-foundation.org: fix pasemi_mac]\n[akpm@linux-foundation.org: fix sdhci]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix sparc]\n[akpm@linux-foundation.org: fix ibmvscsi]\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bc3cc03fa6e1c20aecb5a33356bcaae410640b9",
      "tree": "7dab4b0002298b45e31053fe0f37e5ff745682b7",
      "parents": [
        "6524d938b3360504b43a1278b5a8403e85383d1a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Thu Jul 24 18:21:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 16:40:33 2008 +0200"
      },
      "message": "cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu\n\n  * Replace previous instances of the cpumask_of_cpu_ptr* macros\n    with a the new (lvalue capable) generic cpumask_of_cpu().\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0",
      "tree": "5ac6f43899648abeab1d43aad3107f664e7f13d5",
      "parents": [
        "c4762aba0b1f72659aae9ce37b772ca8bd8f06f4",
        "14b395e35d1afdd8019d11b92e28041fad591b71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 21 17:19:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 21 17:19:50 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096-for-linus\n\nConflicts:\n\n\tnet/sunrpc/svc.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "14b395e35d1afdd8019d11b92e28041fad591b71",
      "tree": "cff7ba9bed7a38300b19a5bacc632979d64fd9c8",
      "parents": [
        "734b397cd14f3340394a8dd3266bec97d01f034b",
        "5108b27651727b5aba0826e8fd7be71b42428701"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 21:21:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 21:21:46 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.27\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.27\u0027 of git://linux-nfs.org/~bfields/linux: (51 commits)\n  nfsd: nfs4xdr.c do-while is not a compound statement\n  nfsd: Use C99 initializers in fs/nfsd/nfs4xdr.c\n  lockd: Pass \"struct sockaddr *\" to new failover-by-IP function\n  lockd: get host reference in nlmsvc_create_block() instead of callers\n  lockd: minor svclock.c style fixes\n  lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_lock\n  lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_testlock\n  lockd: nlm_release_host() checks for NULL, caller needn\u0027t\n  file lock: reorder struct file_lock to save space on 64 bit builds\n  nfsd: take file and mnt write in nfs4_upgrade_open\n  nfsd: document open share bit tracking\n  nfsd: tabulate nfs4 xdr encoding functions\n  nfsd: dprint operation names\n  svcrdma: Change WR context get/put to use the kmem cache\n  svcrdma: Create a kmem cache for the WR contexts\n  svcrdma: Add flush_scheduled_work to module exit function\n  svcrdma: Limit ORD based on client\u0027s advertised IRD\n  svcrdma: Remove unused wait q from svcrdma_xprt structure\n  svcrdma: Remove unneeded spin locks from __svc_rdma_free\n  svcrdma: Add dma map count and WARN_ON\n  ...\n"
    },
    {
      "commit": "65c011845316d3c1381f478ca0d8265c43b3b039",
      "tree": "a7e29e92a1ad0440ef5fe16dc16d73e8bf7983d2",
      "parents": [
        "bb2c018b09b681d43f5e08124b83e362647ea82b"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Jul 15 14:14:30 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 22:02:57 2008 +0200"
      },
      "message": "cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr\n\n  * This patch replaces the dangerous lvalue version of cpumask_of_cpu\n    with new cpumask_of_cpu_ptr macros.  These are patterned after the\n    node_to_cpumask_ptr macros.\n\n    In general terms, if there is a cpumask_of_cpu_map[] then a pointer to\n    the cpumask_of_cpu_map[cpu] entry is used.  The cpumask_of_cpu_map\n    is provided when there is a large NR_CPUS count, reducing\n    greatly the amount of code generated and stack space used for\n    cpumask_of_cpu().  The pointer to the cpumask_t value is needed for\n    calling set_cpus_allowed_ptr() to reduce the amount of stack space\n    needed to pass the cpumask_t value.\n\n    If there isn\u0027t a cpumask_of_cpu_map[], then a temporary variable is\n    declared and filled in with value from cpumask_of_cpu(cpu) as well as\n    a pointer variable pointing to this temporary variable.  Afterwards,\n    the pointer is used to reference the cpumask value.  The compiler\n    will optimize out the extra dereference through the pointer as well\n    as the stack space used for the pointer, resulting in identical code.\n\n    A good example of the orthogonal usages is in net/sunrpc/svc.c:\n\n\tcase SVC_POOL_PERCPU:\n\t{\n\t\tunsigned int cpu \u003d m-\u003epool_to[pidx];\n\t\tcpumask_of_cpu_ptr(cpumask, cpu);\n\n\t\t*oldmask \u003d current-\u003ecpus_allowed;\n\t\tset_cpus_allowed_ptr(current, cpumask);\n\t\treturn 1;\n\t}\n\tcase SVC_POOL_PERNODE:\n\t{\n\t\tunsigned int node \u003d m-\u003epool_to[pidx];\n\t\tnode_to_cpumask_ptr(nodecpumask, node);\n\n\t\t*oldmask \u003d current-\u003ecpus_allowed;\n\t\tset_cpus_allowed_ptr(current, nodecpumask);\n\t\treturn 1;\n\t}\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb2c018b09b681d43f5e08124b83e362647ea82b",
      "tree": "d794902c78f9fdd04ed88a4b8d451ed6f9292ec0",
      "parents": [
        "82638844d9a8581bbf33201cc209a14876eca167",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 22:00:54 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 22:00:54 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tdrivers/acpi/processor_throttling.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49997d75152b3d23c53b0fa730599f2f74c92c65",
      "tree": "46e93126170d02cfec9505172e545732c1b69656",
      "parents": [
        "a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tDocumentation/powerpc/booting-without-of.txt\n\tdrivers/atm/Makefile\n\tdrivers/net/fs_enet/fs_enet-main.c\n\tdrivers/pci/pci-acpi.c\n\tnet/8021q/vlan.c\n\tnet/iucv/iucv.c\n"
    },
    {
      "commit": "82638844d9a8581bbf33201cc209a14876eca167",
      "tree": "961d7f9360194421a71aa644a9d0c176a960ce49",
      "parents": [
        "9982fbface82893e77d211fbabfbd229da6bdde6",
        "63cf13b77ab785e87c867defa8545e6d4a989774"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tarch/x86/xen/smp.c\n\tkernel/sched_rt.c\n\tnet/iucv/iucv.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a86dc496b764ebb1431677b38eab45310e5a2ad4",
      "tree": "2ca9fa18c4f58de08acc7c8f9ea251a279eeba9b",
      "parents": [
        "c3cc8c019ca09767d7c9b5457d5cf8ac65085f44"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 13:37:09 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:57 2008 -0400"
      },
      "message": "SUNRPC: Remove the BKL from the callback functions\n\nPush it into those callback functions that actually need it.\n\nNote that all the NFS operations use their own locking, so don\u0027t need the\nBKL. Ditto for the rpcbind client.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c2e1b09ff237c0a3687b9a804cc8bf489743cffc",
      "tree": "9571ae56e29de0d0b165b136863c2363f2a78569",
      "parents": [
        "babe80eb4994dfdc97d5be19a68b5af66d667585"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jul 14 16:03:30 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:08:55 2008 -0400"
      },
      "message": "SUNRPC: Support registering IPv6 interfaces with local rpcbind daemon\n\nIntroduce a new API to register RPC services on IPv6 interfaces to allow\nthe NFS server and lockd to advertise on IPv6 networks.\n\nUnlike rpcb_register(), the new rpcb_v4_register() function uses rpcbind\nprotocol version 4 to contact the local rpcbind daemon.  The version 4\nSET/UNSET procedures allow services to register address families besides\nAF_INET, register at specific network interfaces, and register transport\nprotocols besides UDP and TCP.  All of this functionality is exposed via\nthe new rpcb_v4_register() kernel API.\n\nA user-space rpcbind daemon implementation that supports version 4 of the\nrpcbind protocol is required in order to make use of this new API.\n\nNote that rpcbind version 3 is sufficient to support the new rpcbind\nfacilities listed above, but most extant implementations use version 4.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "babe80eb4994dfdc97d5be19a68b5af66d667585",
      "tree": "2acdcc7ba99ffed0ab66b21e627f77dd1d3d82bc",
      "parents": [
        "423d8b064771f5cd8b706a4839b18db9bb6c3c59"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jul 14 16:03:29 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:08:51 2008 -0400"
      },
      "message": "SUNRPC: Refactor rpcb_register to make rpcbindv4 support easier\n\nrpcbind version 4 registration will reuse part of rpcb_register, so just\nsplit it out into a separate function now.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "423d8b064771f5cd8b706a4839b18db9bb6c3c59",
      "tree": "4dc1419dca3de0d31b4d2646794c5aa05a274fca",
      "parents": [
        "cc5598b78fd320dd6d1f90c14491e08029f3c4f6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jul 14 16:03:28 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:08:47 2008 -0400"
      },
      "message": "SUNRPC: None of rpcb_create\u0027s callers wants a privileged source port\n\nClean up: Callers that required a privileged source port now use\nrpcb_create_local(), so we can remove the @privileged argument from\nrpcb_create().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cc5598b78fd320dd6d1f90c14491e08029f3c4f6",
      "tree": "de62ba86decdc7bdb69ed717e3c42b4a7d6b774b",
      "parents": [
        "166b88d755f925139af7f7b75aa0a1b896ca0670"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jul 14 16:03:27 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:08:44 2008 -0400"
      },
      "message": "SUNRPC: Introduce a specific rpcb_create for contacting localhost\n\nAdd rpcb_create_local() for use by rpcb_register() and upcoming IPv6\nregistration functions.\n\nEnsure any errors encountered by rpcb_create_local() are properly\nreported.\n\nWe can also use a statically allocated constant loopback socket address\ninstead of one allocated on the stack and initialized every time the\nfunction is called.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "166b88d755f925139af7f7b75aa0a1b896ca0670",
      "tree": "3040cc01b15549105fbf0da576f6eea716727a22",
      "parents": [
        "381ba74af55e58bca4c01553835a360a9f6fbb07"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jul 14 16:03:26 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:08:40 2008 -0400"
      },
      "message": "SUNRPC: Use correct XDR encoding procedure for rpcbind SET/UNSET\n\nThe rpcbind versions 3 and 4 SET and UNSET procedures use the same\narguments as the GETADDR procedure.\n\nWhile definitely a bug, this hasn\u0027t been a problem so far since the\nkernel hasn\u0027t used version 3 or 4 SET and UNSET.  But this will change\nin just a moment.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "381ba74af55e58bca4c01553835a360a9f6fbb07",
      "tree": "56e5f5159432ebb350af4adf330afa4f50b77a54",
      "parents": [
        "f45663ce5fb30f76a3414ab3ac69f4dd320e760a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 07 12:18:53 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:45 2008 -0400"
      },
      "message": "SUNRPC: Ensure our task is notified when an rpcbind call is done\n\nIf another task is busy in rpcb_getport_async number, it is more efficient\nto have it wake us up when it has finished instead of arbitrarily sleeping\nfor 5 seconds.\n\nAlso ensure that rpcb_wake_rpcbind_waiters() is called regardless of\nwhether or not rpcb_getport_done() gets called.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40fef8a649e5344bfb6a67a7cc3def3e0dad6448",
      "tree": "bfcbea1a0cf81ca14d59debb6fb77e83a430b2ab",
      "parents": [
        "8842413aa4c3220ce9313791f99808fc149ca16d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 25 17:24:54 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:37 2008 -0400"
      },
      "message": "SUNRPC: Use only rpcbind v2 for AF_INET requests\n\nSome server vendors support the higher versions of rpcbind only for\nAF_INET6.  The kernel doesn\u0027t need to use v3 or v4 for AF_INET anyway,\nso change the kernel\u0027s rpcbind client to query AF_INET servers over\nrpcbind v2 only.\n\nThis has a few interesting benefits:\n\n1. If the rpcbind request is going over TCP, and the server doesn\u0027t\n   support rpcbind versions 3 or 4, the client reduces by two the number\n   of ephemeral ports left in TIME_WAIT for each rpcbind request.  This\n   will help during NFS mount storms.\n\n2. The rpcbind interaction with servers that don\u0027t support rpcbind\n   versions 3 or 4 will use less network traffic.  Also helpful\n   during mount storms.\n\n3. We can eliminate the kernel build option that controls whether the\n   kernel\u0027s rpcbind client uses rpcbind version 3 and 4 for AF_INET\n   servers.  Less complicated kernel configuration...\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8842413aa4c3220ce9313791f99808fc149ca16d",
      "tree": "6b0869e818f7d525620c973b52242825c2ec109a",
      "parents": [
        "6a774051573042cdeb57e81f77b36c25e5856739"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 25 17:24:47 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:36 2008 -0400"
      },
      "message": "SUNRPC: Use GETADDR for rpcbind version 4 queries\n\nSome rpcbind servers that do support rpcbind version 4 do not support\nthe GETVERSADDR procedure.  Use GETADDR for querying rpcbind servers\nvia rpcbind version 4 instead of GETVERSADDR.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6a774051573042cdeb57e81f77b36c25e5856739",
      "tree": "c563074d6c0834954a14e4b6e5c0bef650b82ca9",
      "parents": [
        "fc200e794d723bc88c39859e8f096b717532f9c9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 25 17:24:39 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:35 2008 -0400"
      },
      "message": "SUNRPC: Use rpcbind version 2 GETPORT\n\nClean up: Change the version 2 procedure name to GETPORT.  It\u0027s the same\nprocedure number as GETADDR, but version 2 implementations usually refer\nto it as GETPORT.\n\nThis also now matches the procedure name used in the version 2 procedure\nentry in the rpcb_next_version[] array, making it slightly less confusing.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc200e794d723bc88c39859e8f096b717532f9c9",
      "tree": "8d87aa1d23936137902d1f5dbdad7ea48601b8c3",
      "parents": [
        "877fcf103982e52a59a1035378b4c0b8c63fe004"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 25 17:24:31 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:34 2008 -0400"
      },
      "message": "SUNRPC: Document some naked integers in rpcbind client\n\nClean up: Replace naked integers that represent rpcbind protocol versions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "877fcf103982e52a59a1035378b4c0b8c63fe004",
      "tree": "779d0ab48d29347585522e20bc4ec9b0728b1ca8",
      "parents": [
        "5afc597c5f0bd184457e49b9a330fcb37b69db11"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 25 17:24:23 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:33 2008 -0400"
      },
      "message": "SUNRPC: More useful debugging output for rpcb client\n\nClean up dprintk\u0027s in rpcb client\u0027s XDR decoder functions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b22602a673b1743bba4b62bb404ffd3b269d2f09",
      "tree": "70bb9bd6a6dd3339dbd3729ff70cbeab2a050ad5",
      "parents": [
        "659bfcd6dd88919a5ad453f62afbeffcb3106847"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jun 06 13:22:25 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:15 2008 -0400"
      },
      "message": "SUNRPC: Ensure all transports set rq_xtime consistently\n\nThe RPC client uses the rq_xtime field in each RPC request to determine the\nround-trip time of the request.  Currently, the rq_xtime field is\ninitialized by each transport just before it starts enqueing a request to\nbe sent.  However, transports do not handle initializing this value\nconsistently; sometimes they don\u0027t initialize it at all.\n\nTo make the measurement of request round-trip time consistent for all\nRPC client transport capabilities, pull rq_xtime initialization into the\nRPC client\u0027s generic transport logic.  Now all transports will get a\nstandardized RTT measure automatically, from:\n\n  xprt_transmit()\n\nto\n\n  xprt_complete_rqst()\n\nThis makes round-trip time calculation more accurate for the TCP transport.\nThe socket -\u003esendmsg() method can return \"-EAGAIN\" if the socket\u0027s output\nbuffer is full, so the TCP transport\u0027s -\u003esend_request() method may call\nthe -\u003esendmsg() method repeatedly until it gets all of the request\u0027s bytes\nqueued in the socket\u0027s buffer.\n\nCurrently, the TCP transport sets the rq_xtime field every time through\nthat loop so the final value is the timestamp just before the *last* call\nto the underlying socket\u0027s -\u003esendmsg() method.  After this patch, the\nrq_xtime field contains a timestamp that reflects the time just before the\n*first* call to -\u003esendmsg().\n\nThis is consequential under heavy workloads because large requests often\ntake multiple -\u003esendmsg() calls to get all the bytes of a request queued.\nThe TCP transport causes the request to sleep until the remote end of the\nsocket has received enough bytes to clear space in the socket\u0027s local\noutput buffer.  This delay can be quite significant.\n\nThe method introduced by this patch is a more accurate measure of RTT\nfor stream transports, since the server can cause enough back pressure\nto delay (ie increase the latency of) requests from the client.\n\nAdditionally, this patch corrects the behavior of the RDMA transport, which\nentirely neglected to initialize the rq_xtime field.  RPC performance\nmetrics for RDMA transports now display correct RPC request round trip\ntimes.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-by: Tom Talpey \u003cthomas.talpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a486aeda9b2b0d944aecce7871b3186379b898de",
      "tree": "724ee69f012083efcd379733ba783efbe6341ab2",
      "parents": [
        "d25a03cf966f2cf9990dc0bf2a921a554919ea34"
      ],
      "author": {
        "name": "\\\\\\\"J. Bruce Fields\\\\\\",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 09 16:51:35 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:14 2008 -0400"
      },
      "message": "rpc: minor cleanup of scheduler callback code\n\nTry to make the comment here a little more clear and concise.\n\nAlso, this macro definition seems unnecessary.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d25a03cf966f2cf9990dc0bf2a921a554919ea34",
      "tree": "48ffd3dc435e5e7edf99159d049d24f5ef2d229a",
      "parents": [
        "720b8f2d6f7de9e16f1217448cc7396e1604e175"
      ],
      "author": {
        "name": "\\\\\\\"J. Bruce Fields\\\\\\",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 09 16:51:34 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:12 2008 -0400"
      },
      "message": "rpc: remove some unused macros\n\nThere used to be a print_hexl() function that used isprint(), now gone.\nI don\u0027t know why NFS_NGROUPS and CA_RUN_AS_MACHINE were here.\n\nI also don\u0027t know why another #define that\u0027s actually used was marked\n\"unused\".\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "720b8f2d6f7de9e16f1217448cc7396e1604e175",
      "tree": "440a87cbc2ad2ac5a57501ac1018fbb4c8bff2fb",
      "parents": [
        "b6b6152c46861dd914d0e6cea9c27df057d6e235"
      ],
      "author": {
        "name": "\\\\\\\"J. Bruce Fields\\\\\\",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 09 16:51:33 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:11 2008 -0400"
      },
      "message": "rpc: eliminate unused variable in auth_gss upcall code\n\nAlso, a minor comment grammar fix in the same file.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b6b6152c46861dd914d0e6cea9c27df057d6e235",
      "tree": "0d63ce529c13c09a1997da06199e27b049bb55aa",
      "parents": [
        "48b605f83c920d8daa50e43fc2c7f718e04c7bfa"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Mon Jun 09 16:51:31 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:10 2008 -0400"
      },
      "message": "rpc: bring back cl_chatty\n\nThe cl_chatty flag alows us to control whether a given rpc client leaves\n\n\t\"server X not responding, timed out\"\n\nmessages in the syslog.  Such messages make sense for ordinary nfs\nclients (where an unresponsive server means applications on the\nmountpoint are probably hanging), but not for the callback client (which\ncan fail more commonly, with the only result just of disabling some\noptimizations).\n\nPreviously cl_chatty was removed, do to lack of users; reinstate it, and\nuse it for the nfsd\u0027s callback client.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cd983ef81b9d79573848dabf81277c7314220257",
      "tree": "954f22ca07ff077e50b05ef54c87491cd8506bce",
      "parents": [
        "48186c7d5734a6b137f9186b37f6dc98097d0429"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 11 17:56:13 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:06 2008 -0400"
      },
      "message": "SUNRPC: Remove obsolete messages during transport connect\n\nRecent changes to the RPC client\u0027s transport connect logic make connect\nstatus values ECONNREFUSED and ECONNRESET impossible.\n\nClean up xprt_connect_status() to account for these changes.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cb3997b5a0b21864368bd1bd1d0929f9304fb6d9",
      "tree": "b3b0f4369c8dba139e0e359cfcfc9277d82430a1",
      "parents": [
        "38e886e0c18975543938519254fc9bf0829c75a3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed May 21 17:09:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:58 2008 -0400"
      },
      "message": "SUNRPC: Display some debugging information as text rather than numbers\n\nIn rpc_show_tasks(), display the program name, version number, procedure\nname and tk_action as human-readable variable-length text fields rather\nthan columnar numbers.\n\nDoing the symbol lookup here helps in cases where we have actual\ndebugging output from a kernel log, but don\u0027t have access to the kernel\nimage or RPC module that generated the output.\n\nSample output:\n\n -pid- flgs status -client- --rqstp- -timeout ---ops--\n  5608 0001    -11 eeb42690 f6d93710        0 f8fa1764 nfsv3 WRITE a:call_transmit_status q:none\n  5609 0001    -11 eeb42690 f6d937e0        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5610 0001    -11 eeb42690 f6d93230        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5611 0001    -11 eeb42690 f6d93300        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5612 0001    -11 eeb42690 f6d93090        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5613 0001    -11 eeb42690 f6d933d0        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5614 0001    -11 eeb42690 f6d93cc0        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5615 0001    -11 eeb42690 f6d93a50        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5616 0001    -11 eeb42690 f6d93640        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5617 0001    -11 eeb42690 f6d93b20        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5618 0001    -11 eeb42690 f6d93160        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "38e886e0c18975543938519254fc9bf0829c75a3",
      "tree": "310aa1aa78833bc0ef8836c0bfceb3a7823e6c31",
      "parents": [
        "68a23ee94e3a06819f5a39d64f2e1f3131bab12d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed May 21 17:09:33 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:56 2008 -0400"
      },
      "message": "SUNRPC: Refactor rpc_show_tasks\n\nClean up: move the logic that displays each task to its own function.\nThis removes indentation and makes future changes easier.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "68a23ee94e3a06819f5a39d64f2e1f3131bab12d",
      "tree": "47b9e954ccbd2ead56307f64516da91298153b9a",
      "parents": [
        "b0e1c57ea00302c3ac541ffd37e7db07d13cd674"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed May 21 17:09:26 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:55 2008 -0400"
      },
      "message": "SUNRPC: Don\u0027t display the rpc_show_tasks header if there are no tasks\n\nClean up: don\u0027t display the rpc_show_tasks column header unless there is at\nleast one task to display.  As far as I can tell, it is safe to let the\nlist_for_each_entry macro decide that each list is empty.\n\nscripts/checkpatch.pl also wants a KERN_FOO at the start of any newly added\nprintk() calls, so this and subsequent patches will also add KERN_INFO.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b0e1c57ea00302c3ac541ffd37e7db07d13cd674",
      "tree": "1efbe305bfff8141ae0d27a03dacc5bbf4ae58a6",
      "parents": [
        "3748f1e447ac1dbf45f33ee7491a008a8bb5cdf0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed May 21 17:09:19 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:53 2008 -0400"
      },
      "message": "SUNRPC: Rename \"call_\" functions that are no longer FSM states\n\nThe RPC client uses a finite state machine to move RPC tasks through each\nstep of an RPC request.  Each state is contained in a function in\nnet/sunrpc/clnt.c, and named call_foo.\n\nSome of the functions named call_foo have changed over the past few years and\nare no longer states in the FSM.  These include: call_encode, call_header,\nand call_verify.  As a clean up, rename the functions that have changed.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3748f1e447ac1dbf45f33ee7491a008a8bb5cdf0",
      "tree": "1e6fced9b21cb730424a1dc0805bf08819b43832",
      "parents": [
        "6fb1bc10303c0d88f635d014324432ab6ee49d1b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed May 21 17:09:12 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:53 2008 -0400"
      },
      "message": "SUNRPC: Add a function to display the name of an RPC procedure\n\nImprove debugging messages in call_start() and call_verify() by having\nthem show the RPC procedure name instead of the procedure number.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0f38b873aeaae698c3693748438547c8493165fb",
      "tree": "c858b2a08251c2f5792cf83582697dcd9909b7d8",
      "parents": [
        "7e5f6146609eb9134fac7d1b6bfee43df1732188"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 10 18:31:01 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:48 2008 -0400"
      },
      "message": "SUNRPC: Use GFP_NOFS when allocating credentials\n\nSince the credentials may be allocated during the call to rpc_new_task(),\nwhich again may be called by a memory allocator...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b390c2b55c830eb3b64633fa8d8b8837e073e458",
      "tree": "e18f0041626a88447d34809f35041cd4b4425610",
      "parents": [
        "8b39f2b41033754e7ba669503d27268beb1b524a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 10 18:30:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:43 2008 -0400"
      },
      "message": "SUNRPC: An ENOMEM error from call_encode is always fatal\n\nThe special \u0027ENOMEM\u0027 case that was previously flagged as non-fatal is\nbogus: auth_gss always returns EAGAIN for non-fatal errors, and may in fact\nreturn ENOMEM in the special case where xdr_buf_read_netobj runs out of\npreallocated buffer space (invariably a _fatal_ error, since there is no\nprovision for preallocating larger buffers).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b39f2b41033754e7ba669503d27268beb1b524a",
      "tree": "50377c7d6c4918141f3b8bda5040477854458e7c",
      "parents": [
        "2116271a347d1181b5497602c2bfada1de8fd53b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 14 19:48:25 2008 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:41 2008 -0400"
      },
      "message": "SUNRPC: Ensure we exit early in case of an encode error\n\nAll errors from call_encode(), with exception of EAGAIN are fatal, so we\nshould immediately return instead of proceeding to xprt_transmit().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "803a9067e19714ea7b7da760fe92f0d53bfa6994",
      "tree": "d95c3f118759ae78754c95f5fc83e187b9d41e56",
      "parents": [
        "0d3a34b48c87a374b37d7a21a60d257d076484f3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 01 15:20:55 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 08 15:23:10 2008 -0400"
      },
      "message": "SUNRPC: Fix an rpcbind breakage for the case of IPv6 lookups\n\nNow that rpcb_next_version has been split into an IPv4 version and an IPv6\nversion, we Oops when rpcb_call_async attempts to look up the IPv6-specific\nRPC procedure in rpcb_next_version.\n\nFix the Oops simply by having rpcb_getport_async pass the correct RPC\nprocedure as an argument.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0d3a34b48c87a374b37d7a21a60d257d076484f3",
      "tree": "b3b95c5855e25c5693d505bf74f9c5f7eccde8dc",
      "parents": [
        "2aac05a91971fbd1bf6cbed78b8731eb7454b9b7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 07 12:18:52 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 08 15:23:00 2008 -0400"
      },
      "message": "SUNRPC: Fix a double-free in rpcbind\n\nIt is wrong to be freeing up the rpcbind arguments if the call to\nrpcb_call_async() fails, since they should already have been freed up by\nrpcb_map_release().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "68083e05d72d94f347293d8cc0067050ba904bfa",
      "tree": "842e71365bd90866be7add181661a4039d891564",
      "parents": [
        "7baac8b91f9871ba8cb09af84de4ae1d86d07812",
        "b7279469d66b55119784b8b9529c99c1955fe747"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 06 14:23:39 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 06 14:23:39 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.26-rc9\u0027 into cpus4096\n"
    },
    {
      "commit": "e86322f611eef95aafaf726fd3965e5b211f1985",
      "tree": "28547e26df4fc6ae671dc8cc6912a53717e4db08",
      "parents": [
        "b001a1b6aa960949a24c2cdc28257dfcc9428d74",
        "8948896c9e098c6fd31a6a698a598a7cbd7fa40e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 03 16:24:06 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 03 16:24:06 2008 -0400"
      },
      "message": "Merge branch \u0027for-bfields\u0027 of git://linux-nfs.org/~tomtucker/xprt-switch-2.6 into for-2.6.27\n"
    },
    {
      "commit": "b620754bfeb8b0e0c6622b03d5ee2f1af1d3082f",
      "tree": "a91c96f8200904a0fe4224f05a43698b2f8cb4cb",
      "parents": [
        "97055a915720fe1aff9ac71c17fae60e929d4ed6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 03 15:26:35 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 03 12:46:56 2008 -0700"
      },
      "message": "svcrpc: fix handling of garbage args\n\nTo return garbage_args, the accept_stat must be 0, and we must have a\nverifier.  So we shouldn\u0027t be resetting the write pointer as we reject\nthe call.\n\nAlso, we must add the two placeholder words here regardless of success\nof the unwrap, to ensure the output buffer is left in a consistent state\nfor svcauth_gss_release().\n\nThis fixes a BUG() in svcauth_gss.c:svcauth_gss_release().\n\nThanks to Aime Le Rouzic for bug report, debugging help, and testing.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nTested-by: Aime Le Rouzic \u003caime.le-rouzic@bull.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8948896c9e098c6fd31a6a698a598a7cbd7fa40e",
      "tree": "465a4d93c8becb0b2e4750cc1286391916f887b5",
      "parents": [
        "bf5927d84e70d522f234ca247b27d27c63878b93"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 28 15:14:02 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 15:02:02 2008 -0500"
      },
      "message": "svcrdma: Change WR context get/put to use the kmem cache\n\nChange the WR context pool to be shared across mount points. This\nreduces the RDMA transport memory footprint significantly since\nidle mounts don\u0027t consume WR context memory.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "bf5927d84e70d522f234ca247b27d27c63878b93",
      "tree": "5fde73a6d64da9ee3682185ae5c09c3cfbe817d1",
      "parents": [
        "902a94e0889be1f9fcefc0e1b602b06136e01812"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 28 14:05:54 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 15:02:01 2008 -0500"
      },
      "message": "svcrdma: Create a kmem cache for the WR contexts\n\nCreate a kmem cache to hold WR contexts. Next we will convert\nthe WR context get and put services to use this kmem cache.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "902a94e0889be1f9fcefc0e1b602b06136e01812",
      "tree": "68212c3fbc1103e2174e3a2b79c0ade1bba6f251",
      "parents": [
        "36ef25e464dbc5820c22a9b2f619b787eda594df"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 28 13:57:05 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 15:02:00 2008 -0500"
      },
      "message": "svcrdma: Add flush_scheduled_work to module exit function\n\nMake certain all transports pending free are flushed from the wq\nbefore unloading the module.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "36ef25e464dbc5820c22a9b2f619b787eda594df",
      "tree": "4990dfaaf2f4f082ebb016a8a75d3975a6ccf7b8",
      "parents": [
        "779a48577ba88b6a7e9748a04b0b739f36c5e6f6"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 19:00:24 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 15:01:59 2008 -0500"
      },
      "message": "svcrdma: Limit ORD based on client\u0027s advertised IRD\n\nWhen adapters have differing IRD limits, the RDMA transport will fail to\nconnect properly. The RDMA transport should use the client\u0027s advertised\ninbound read limit when computing its outbound read limit. For iWARP\ntransports, there is currently no standard for exchanging IRD/ORD\nduring connection establishment so the \u0027responder_resources\u0027 field in the\nconnect event is the local device\u0027s limit. The RDMA transport can be\nconfigured to use a smaller ORD by writing the desired number to the\n/proc/sys/sunrpc/svc_rdma/max_outbound_read_requests file.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "94dba4918d4570bfa98776e54a5fa527c848dc78",
      "tree": "c861aac6e5eb5eec55be012c71655ba7178445ae",
      "parents": [
        "87295b6c5c7fd7bbc0ce3e7f42d2adbbac7352b9"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 28 13:20:24 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 15:01:57 2008 -0500"
      },
      "message": "svcrdma: Remove unneeded spin locks from __svc_rdma_free\n\nAt the time __svc_rdma_free is called, we are guaranteed that all references\nto this transport are gone. There is, therefore, no need to protect the\nresource lists with a spin lock.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "87295b6c5c7fd7bbc0ce3e7f42d2adbbac7352b9",
      "tree": "11a273d3fd2c61bbbf102b80c0b45a0f0021d499",
      "parents": [
        "e6ab9143719ff76f0b95f0866c4d0f6c743ad2e0"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 28 13:17:44 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 15:01:56 2008 -0500"
      },
      "message": "svcrdma: Add dma map count and WARN_ON\n\nAdd a dma map count in order to verify that all DMA mapping resources\nhave been freed when the transport is closed.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    }
  ],
  "next": "e6ab9143719ff76f0b95f0866c4d0f6c743ad2e0"
}
