)]}'
{
  "log": [
    {
      "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": "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": "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"
    },
    {
      "commit": "e6ab9143719ff76f0b95f0866c4d0f6c743ad2e0",
      "tree": "42e95b916e9fbe814d1d61557af478f557f9d750",
      "parents": [
        "f820c57ebf5493d4602cc00577c8b0fadd27a7b8"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 28 12:08:48 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 15:01:55 2008 -0500"
      },
      "message": "svcrdma: Move the DMA unmap logic to the CQ handler\n\nSeparate DMA unmap from context destruction and perform DMA unmapping\nin the SQ/RQ CQ reap functions. This is necessary to support software\nbased RDMA implementations that actually copy the data in their\nib_dma_unmap callback functions and architectures that don\u0027t have\ncache coherent I/O busses.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "f820c57ebf5493d4602cc00577c8b0fadd27a7b8",
      "tree": "7a39a4e18e98d95d3a2a9d642ae93509c5c77177",
      "parents": [
        "34d16e42a6ab74a4a4389c061dfa3c6609e08fa0"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue May 27 17:03:14 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 15:01:55 2008 -0500"
      },
      "message": "svcrdma: Use reply and chunk map for RDMA_READ processing\n\nModify the RDMA_READ processing to use the reply and chunk list mapping data\ntypes. Also add a special purpose \u0027hdr_count\u0027 field in in the context to hold\nthe header page count instead of overloading the SGE length field and\ncorrupting the DMA map length.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "34d16e42a6ab74a4a4389c061dfa3c6609e08fa0",
      "tree": "85b1939f8096ea89bf7c2ccb569ae3b5e0667905",
      "parents": [
        "ab96dddbedf4bb8a7a0fe44012efc1d99598c36f"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 14:56:13 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 15:01:54 2008 -0500"
      },
      "message": "svcrdma: Use RPC reply map for RDMA_WRITE processing\n\nUse the new svc_rdma_req_map data type for mapping the client side memory\nto the server side memory. Move the DMA mapping to the context pointed to\nby each WR individually so that it is unmapped after the WR completes.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "ab96dddbedf4bb8a7a0fe44012efc1d99598c36f",
      "tree": "bb3fcfe50264d9a0eb63b768aab8154d70185975",
      "parents": [
        "e1441b9a41c33aa9236008a7cfe49a8e723fb397"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 28 13:54:04 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Jul 02 15:01:53 2008 -0500"
      },
      "message": "svcrdma: Add a type for keeping NFS RPC mapping\n\nCreate a new data structure to hold the remote client address space\nto local server address space mapping.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "863a24882ed0a57ff25daaf39885f3a47b706e4b",
      "tree": "d36d3829550ba8289a2b3b75cceb187cdb4600b5",
      "parents": [
        "db8add57898751b9c0ff93ead25f20d21da5ddd0"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Apr 30 12:46:08 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:47:38 2008 -0400"
      },
      "message": "gss_krb5: Use random value to initialize confounder\n\nInitialize the value used for the confounder to a random value\nrather than starting from zero.\nAllow for confounders of length 8 or 16 (which will be needed for AES).\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "db8add57898751b9c0ff93ead25f20d21da5ddd0",
      "tree": "cfe12abbf7836bf21267de10c6b11a3c1d3bda51",
      "parents": [
        "d00953a53e9a2edbe005c1e596f1e96a8a293401"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Apr 30 12:45:58 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:47:32 2008 -0400"
      },
      "message": "gss_krb5: move gss_krb5_crypto into the krb5 module\n\nThe gss_krb5_crypto.o object belongs in the rpcsec_gss_krb5 module.\nAlso, there is no need to export symbols from gss_krb5_crypto.c\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d00953a53e9a2edbe005c1e596f1e96a8a293401",
      "tree": "3e476deb8cfd5e97a48a725bb21af28dfdea879d",
      "parents": [
        "8837abcab3d16608bd2c7fac051a839d48f2f30c"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Apr 30 12:45:53 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:47:25 2008 -0400"
      },
      "message": "gss_krb5: create a define for token header size and clean up ptr location\n\ncleanup:\nDocument token header size with a #define instead of open-coding it.\n\nDon\u0027t needlessly increment \"ptr\" past the beginning of the header\nwhich makes the values passed to functions more understandable and\neliminates the need for extra \"krb5_hdr\" pointer.\n\nClean up some intersecting  white-space issues flagged by checkpatch.pl.\n\nThis leaves the checksum length hard-coded at 8 for DES.  A later patch\ncleans that up.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a75c5d01e4235a7dd785548ac756f248b1b40107",
      "tree": "602c517b868a219d184e42d23cda4e834396c8ca",
      "parents": [
        "9867d76ca16b3f455f9ca83861f4ce5c94a25928"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 10 08:40:39 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:49 2008 -0400"
      },
      "message": "sunrpc: remove sv_kill_signal field from svc_serv struct\n\nSince we no longer make any distinction between shutdown signals with\nnfsd, then it becomes easier to just standardize on a particular signal\nto use to bring it down (SIGINT, in this case).\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9867d76ca16b3f455f9ca83861f4ce5c94a25928",
      "tree": "1715f69545bf6e766e6e18b33c39270ea7bd15ce",
      "parents": [
        "e096bbc6488d3e49d476bf986d33752709361277"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 10 08:40:38 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:49 2008 -0400"
      },
      "message": "knfsd: convert knfsd to kthread API\n\nThis patch is rather large, but I couldn\u0027t figure out a way to break it\nup that would remain bisectable. It does several things:\n\n- change svc_thread_fn typedef to better match what kthread_create expects\n- change svc_pool_map_set_cpumask to be more kthread friendly. Make it\n  take a task arg and and get rid of the \"oldmask\"\n- have svc_set_num_threads call kthread_create directly\n- eliminate __svc_create_thread\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "bedbdd8bada194a690d2901801bf8451965086b3",
      "tree": "dc7ea15dd52370429bd63cd6803d6402cebbd50b",
      "parents": [
        "0d169ca136357d51a65d686f3c84866a8ba20ae9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 10 08:40:35 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:49 2008 -0400"
      },
      "message": "knfsd: Replace lock_kernel with a mutex for nfsd thread startup/shutdown locking.\n\nThis removes the BKL from the RPC service creation codepath. The BKL\nreally isn\u0027t adequate for this job since some of this info needs\nprotection across sleeps.\n\nAlso, add some comments to try and clarify how the locking should work\nand to make it clear that the BKL isn\u0027t necessary as long as there is\nadequate locking between tasks when touching the svc_serv fields.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f9b48a7584851997702cdc3f58e7811b5546397",
      "tree": "629deaa7874ca91b72d4b726df4f8f42038a398e",
      "parents": [
        "cad0e458d17c643c20c1d38f45a1d26125e6a622"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon May 12 21:21:13 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 18:44:36 2008 +0200"
      },
      "message": "net: Pass reference to cpumask variable in net/sunrpc/svc.c\n\n  * Pass reference to cpumask variable instead of using stack.\n\nFor inclusion into sched-devel/latest tree.\n\nBased on:\n\tgit://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n    +   sched-devel/latest  .../mingo/linux-2.6-sched-devel.git\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d40ace0c7b4a329f7d869d0fbf27435543bb2acc",
      "tree": "6fa319ba10931ed815ec78895e3ec2160ac1ee34",
      "parents": [
        "e616c6303306df62223ebe2e68bb2f19c420dd81",
        "68432a03f8ff93a9eecee95cc8f02e7fe2025cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 19:30:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 19:30:54 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.26\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.26\u0027 of git://linux-nfs.org/~bfields/linux: (25 commits)\n  svcrdma: Verify read-list fits within RPCSVC_MAXPAGES\n  svcrdma: Change svc_rdma_send_error return type to void\n  svcrdma: Copy transport address and arm CQ before calling rdma_accept\n  svcrdma: Set rqstp transport address in rdma_read_complete function\n  svcrdma: Use ib verbs version of dma_unmap\n  svcrdma: Cleanup queued, but unprocessed I/O in svc_rdma_free\n  svcrdma: Move the QP and cm_id destruction to svc_rdma_free\n  svcrdma: Add reference for each SQ/RQ WR\n  svcrdma: Move destroy to kernel thread\n  svcrdma: Shrink scope of spinlock on RQ CQ\n  svcrdma: Use standard Linux lists for context cache\n  svcrdma: Simplify RDMA_READ deferral buffer management\n  svcrdma: Remove unused READ_DONE context flags bit\n  svcrdma: Return error from rdma_read_xdr so caller knows to free context\n  svcrdma: Fix error handling during listening endpoint creation\n  svcrdma: Free context on post_recv error in send_reply\n  svcrdma: Free context on ib_post_recv error\n  svcrdma: Add put of connection ESTABLISHED reference in rdma_cma_handler\n  svcrdma: Fix return value in svc_rdma_send\n  svcrdma: Fix race with dto_tasklet in svc_rdma_send\n  ...\n"
    },
    {
      "commit": "68432a03f8ff93a9eecee95cc8f02e7fe2025cc9",
      "tree": "9a9e98a0233a7f3b4d66df19d8ded26d0b41c0ed",
      "parents": [
        "d71a4dd72e67210ae0767ccae69c79f1c933ff64",
        "a6f911c04e20b98feb4b33d3aba2976851977d6a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 20 19:57:38 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 20 19:57:38 2008 -0400"
      },
      "message": "Merge branch \u0027from-tomtucker\u0027 into for-2.6.26\n"
    },
    {
      "commit": "a6f911c04e20b98feb4b33d3aba2976851977d6a",
      "tree": "54a34d7007ca8d1d39f55396e2d084f6f9310e91",
      "parents": [
        "008fdbc57164b0ac237ad6ee2766944f02ac9c28"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue May 13 09:16:05 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:34:02 2008 -0500"
      },
      "message": "svcrdma: Verify read-list fits within RPCSVC_MAXPAGES\n\nA RDMA read-list cannot contain more elements than RPCSVC_MAXPAGES or\nit will overflow the DTO context. Verify this when processing the\nprotocol header.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "008fdbc57164b0ac237ad6ee2766944f02ac9c28",
      "tree": "e1637f39b6454a6ae94a00e90bd047d47bdfdf7e",
      "parents": [
        "af261af4db14230fb35bcdc0ba9ef78ed6cf7bc1"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 07 15:47:42 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:34:01 2008 -0500"
      },
      "message": "svcrdma: Change svc_rdma_send_error return type to void\n\nThe svc_rdma_send_error function is called when an RPCRDMA protocol\nerror is detected. This function attempts to post an error reply message.\nSince an error posting to a transport in error is ignored, change\nthe return type to void.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "af261af4db14230fb35bcdc0ba9ef78ed6cf7bc1",
      "tree": "1d9de4ac4a71f6fd79eb41e9244f34daf863790a",
      "parents": [
        "69500c43b45f7155b72dcadad31cd55cda789c93"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 07 13:52:42 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:34:00 2008 -0500"
      },
      "message": "svcrdma: Copy transport address and arm CQ before calling rdma_accept\n\nThis race was found by inspection. Messages can be received from the peer\nimmediately following the rdma_accept call, however, the CQ have not yet\nbeen armed and the transport address has not yet been set.\n\nSet the transport address in the connect request handler and arm the CQ\nprior to calling rdma_accept.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "69500c43b45f7155b72dcadad31cd55cda789c93",
      "tree": "13bc2f4a6950841adc66a44635f945f84f8faeba",
      "parents": [
        "97a3df382e01c49555ea844bd7c4e5a08f245b9d"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 07 13:49:58 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:59 2008 -0500"
      },
      "message": "svcrdma: Set rqstp transport address in rdma_read_complete function\n\nThe rdma_read_complete function needs to copy the rqstp transport address\nfrom the transport. Failure to do so can result in using the wrong\nauthentication method for the RPC or bug checking if the rqstp address\nis not valid.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "97a3df382e01c49555ea844bd7c4e5a08f245b9d",
      "tree": "d02f8919c9b92fd61b251afd5e591971a12c6442",
      "parents": [
        "356d0a1519867422c3f17f79e2183f8c2d44f8ee"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu May 01 14:02:45 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:58 2008 -0500"
      },
      "message": "svcrdma: Use ib verbs version of dma_unmap\n\nUse the ib_verbs version of the dma_unmap service in the\nsvc_rdma_put_context function. This should support providers\nusing software rdma.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "356d0a1519867422c3f17f79e2183f8c2d44f8ee",
      "tree": "69c60d0d9605d617e90afbccf9fb054c56958c3b",
      "parents": [
        "1711386c62c97f7fb086a2247d44cdb1f8867640"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu May 01 11:25:02 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:57 2008 -0500"
      },
      "message": "svcrdma: Cleanup queued, but unprocessed I/O in svc_rdma_free\n\nWhen the transport is closing, the DTO tasklet may queue data\nthat never gets processed. Clean up resources associated with\nthis I/O.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "1711386c62c97f7fb086a2247d44cdb1f8867640",
      "tree": "4f4f70ada8683fe1e8884493469355acd2633790",
      "parents": [
        "0905c0f0a2346516ecd12f0a4f33dca571b0dccd"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu May 01 11:13:50 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:56 2008 -0500"
      },
      "message": "svcrdma: Move the QP and cm_id destruction to svc_rdma_free\n\nMove the destruction of the QP and CM_ID to the free path so that the\nQP cleanup code doesn\u0027t race with the dto_tasklet handling flushed WR.\nThe QP reference is not needed because we now have a reference for\nevery WR.\n\nAlso add a guard in the SQ and RQ completion handlers to ignore\ncalls generated by some providers when the QP is destroyed.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "0905c0f0a2346516ecd12f0a4f33dca571b0dccd",
      "tree": "7beb155c06edd8acbcf9a7b302d599f1be88cf60",
      "parents": [
        "8da91ea8de873ee8be82377ff18637d05e882058"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu May 01 10:49:03 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:55 2008 -0500"
      },
      "message": "svcrdma: Add reference for each SQ/RQ WR\n\nAdd a reference on the transport for every outstanding WR.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "8da91ea8de873ee8be82377ff18637d05e882058",
      "tree": "9cfb692f27dde588a360a0f612b8ea14b04a76a4",
      "parents": [
        "47698e083e40bbd3ef87f5561390ae33abb13cd0"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Apr 30 22:00:46 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:54 2008 -0500"
      },
      "message": "svcrdma: Move destroy to kernel thread\n\nSome providers may wait while destroying adapter resources.\nSince it is possible that the last reference is put on the\ndto_tasklet, the actual destroy must be scheduled as a work item.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "47698e083e40bbd3ef87f5561390ae33abb13cd0",
      "tree": "116427837fc578ad419068306e94adb2daa8fdb1",
      "parents": [
        "8740767376b32a7772607e1b2b07cde0c24120cc"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue May 06 11:49:05 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:53 2008 -0500"
      },
      "message": "svcrdma: Shrink scope of spinlock on RQ CQ\n\nThe rq_cq_reap function is only called from the dto_tasklet. The\nonly resource shared with other threads is the sc_rq_dto_q. Move the\nspin lock to protect only this list.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "8740767376b32a7772607e1b2b07cde0c24120cc",
      "tree": "62e9831548e0cdd2e70951a9ab9df4b93ca440aa",
      "parents": [
        "02e7452de74d308ca642f54f7e5ef801ced60a92"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Apr 30 20:44:39 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:52 2008 -0500"
      },
      "message": "svcrdma: Use standard Linux lists for context cache\n\nReplace the one-off linked list implementation used to implement the\ncontext cache with the standard Linux list_head lists. Add a context\ncounter to catch resource leaks. A WARN_ON will be added later to\nensure that we\u0027ve freed all contexts.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "02e7452de74d308ca642f54f7e5ef801ced60a92",
      "tree": "9300b5d12be31a6d48689a4260abb1b81e8a5551",
      "parents": [
        "10a38c33f46d128d11e299acba744bc325cde420"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Apr 30 19:50:56 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:51 2008 -0500"
      },
      "message": "svcrdma: Simplify RDMA_READ deferral buffer management\n\nAn NFS_WRITE requires a set of RDMA_READ requests to fetch the write\ndata from the client. There are two principal pieces of data that\nneed to be tracked: the list of pages that comprise the completed RPC\nand the SGE of dma mapped pages to refer to this list of pages. Previously\nthis whole bit was managed as a linked list of contexts with the\ncontext containing the page list buried in this list. This patch\nsimplifies this processing by not keeping a linked list, but rather only\na pionter from the last submitted RDMA_READ\u0027s context to the context\nthat maps the set of pages that describe the RPC.  This significantly\nsimplifies this code path. SGE contexts are cleaned up inline in the DTO\npath instead of at read completion time.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    }
  ],
  "next": "10a38c33f46d128d11e299acba744bc325cde420"
}
