)]}'
{
  "log": [
    {
      "commit": "ce0cf6622c9a6f18c2723ea4bef7616799a1ca39",
      "tree": "fb1829524d385bb0840d282fa31d4aa20b421cb2",
      "parents": [
        "096abd77038a2ff74efd194d074eadcde80fb97d"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Nov 02 16:18:08 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@pig.fieldses.org",
        "time": "Tue Jan 27 17:26:58 2009 -0500"
      },
      "message": "nfs: note that CONFIG_SUNRPC_XPRT_RDMA turns on server side support too\n\nWe forgot to update this when adding server-side support.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9098c24f35f7da6c89a83420acf21e3d7b35151d",
      "tree": "4c7a0de57b102e2ac3841774f5990962f0a5721a",
      "parents": [
        "e2b329e2002685c1b0fa3c06caadc0936b7f507f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 11:11:56 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:16:00 2009 +0300"
      },
      "message": "fs/Kconfig: move sunrpc out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "24c3767e41a6a59d32bb45abe899eb194e6bf1b8",
      "tree": "bf44f3f90e51b8cbbae89e9740cce9d56e8eb515",
      "parents": [
        "22945e4a1c7454c97f5d8aee1ef526c83fef3223"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:30:12 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:18:42 2009 -0500"
      },
      "message": "SUNRPC: The sunrpc server code should not be used by out-of-tree modules\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "22945e4a1c7454c97f5d8aee1ef526c83fef3223",
      "tree": "f082143420da55b97c98a1534336b0cf03412e0b",
      "parents": [
        "9a8d248e2d2e9c880ac4561f27fea5dc200655bd"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Jan 05 15:21:19 2009 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:08:46 2009 -0500"
      },
      "message": "svc: Clean up deferred requests on transport destruction\n\nA race between svc_revisit and svc_delete_xprt can result in\ndeferred requests holding references on a transport that can never be\nrecovered because dead transports are not enqueued for subsequent\nprocessing.\n\nCheck for XPT_DEAD in revisit to clean up completing deferrals on a dead\ntransport and sweep a transport\u0027s deferred queue to do the same for queued\nbut unprocessed deferrals.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2779e3ae39645515cb6c1126634f47c28c9e7190",
      "tree": "e7904837510ba41552a11ebd21caaaf336281462",
      "parents": [
        "f05ef8db1abe68e3f6fc272efee51bc54ce528c5"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Jan 05 11:12:52 2009 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:45 2009 -0500"
      },
      "message": "svc: Move kfree of deferral record to common code\n\nThe rqstp structure has a pointer to a svc_deferred_req record\nthat is allocated when requests are deferred. This record is common\nto all transports and can be freed in common code.\n\nMove the kfree of the rq_deferred to the common svc_xprt_release\nfunction.\n\nThis also fixes a memory leak in the RDMA transport which does not\nkfree the dr structure in it\u0027s version of the xpo_release_rqst callback.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "69b6ba3712b796a66595cfaf0a5ab4dfe1cf964a",
      "tree": "e75274a8f4b12e086bf3481b98f97a6b5abda00f",
      "parents": [
        "262a09823bb07c6aafb6c1d312cde613d0b90c85"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:30:11 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:57 2009 -0500"
      },
      "message": "SUNRPC: Ensure the server closes sockets in a timely fashion\n\nWe want to ensure that connected sockets close down the connection when we\nset XPT_CLOSE, so that we don\u0027t keep it hanging while cleaning up all the\nstuff that is keeping a reference to the socket.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c9233eb7b0b11ef176d4bf68da2ce85464b6ec39",
      "tree": "22f9f999e0d48a5f3aae6b32f9ff702eb4db05cc",
      "parents": [
        "548eaca46b3cf4419b6c2be839a106d8641ffb70"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Oct 20 11:51:57 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:47 2009 -0500"
      },
      "message": "sunrpc: add sv_maxconn field to svc_serv (try #3)\n\nsvc_check_conn_limits() attempts to prevent denial of service attacks\nby having the service close old connections once it reaches a\nthreshold. This threshold is based on the number of threads in the\nservice:\n\n\t(serv-\u003esv_nrthreads + 3) * 20\n\nOnce we reach this, we drop the oldest connections and a printk pops\nto warn the admin that they should increase the number of threads.\n\nIncreasing the number of threads isn\u0027t an option however for services\nlike lockd. We don\u0027t want to eliminate this check entirely for such\nservices but we need some way to increase this limit.\n\nThis patch adds a sv_maxconn field to the svc_serv struct. When it\u0027s\nset to 0, we use the current method to calculate the max number of\nconnections. RPC services can then set this on an as-needed basis.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "56ff5efad96182f4d3cb3dc6b07396762c658f16",
      "tree": "cb91f93aa2324573527165d56d230b606a3111ed",
      "parents": [
        "acfa4380efe77e290d3a96b11cd4c9f24f4fbb18"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 09 09:34:39 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "zero i_uid/i_gid on inode allocation\n\n... and don\u0027t bother in callers.  Don\u0027t bother with zeroing i_blocks,\nwhile we are at it - it\u0027s already been zeroed.\n\ni_mode is not worth the effort; it has no common default value.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "08cc36cbd1ee7d86422713bb21551eed1326b894",
      "tree": "52cc683387f903b34a7f6f798dcdbae385b58db8",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179",
        "46f72f57d279688c4524df78edb5738db730eeef"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 30 16:51:43 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 30 16:51:43 2008 -0500"
      },
      "message": "Merge branch \u0027devel\u0027 into next\n"
    },
    {
      "commit": "0191b625ca5a46206d2fb862bb08f36f2fcb3b31",
      "tree": "454d1842b1833d976da62abcbd5c47521ebe9bd7",
      "parents": [
        "54a696bd07c14d3b1192d03ce7269bc59b45209a",
        "eb56092fc168bf5af199d47af50c0d84a96db898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1429 commits)\n  net: Allow dependancies of FDDI \u0026 Tokenring to be modular.\n  igb: Fix build warning when DCA is disabled.\n  net: Fix warning fallout from recent NAPI interface changes.\n  gro: Fix potential use after free\n  sfc: If AN is enabled, always read speed/duplex from the AN advertising bits\n  sfc: When disabling the NIC, close the device rather than unregistering it\n  sfc: SFT9001: Add cable diagnostics\n  sfc: Add support for multiple PHY self-tests\n  sfc: Merge top-level functions for self-tests\n  sfc: Clean up PHY mode management in loopback self-test\n  sfc: Fix unreliable link detection in some loopback modes\n  sfc: Generate unique names for per-NIC workqueues\n  802.3ad: use standard ethhdr instead of ad_header\n  802.3ad: generalize out mac address initializer\n  802.3ad: initialize ports LACPDU from const initializer\n  802.3ad: remove typedef around ad_system\n  802.3ad: turn ports is_individual into a bool\n  802.3ad: turn ports is_enabled into a bool\n  802.3ad: make ntt bool\n  ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.\n  ...\n\nFixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due\nto the conversion to %pI (in this networking merge) and the addition of\ndoing IPv6 addresses (from the earlier merge of CIFS).\n"
    },
    {
      "commit": "2efef7080f471d312a9c4feb3dc5ee038039c7ed",
      "tree": "cad946aa12f1780818d396c732d17ad9db642607",
      "parents": [
        "8b1c7bf5b624c9bc91b41ae577b9fc5c21641705"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:19:56 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:19:56 2008 -0500"
      },
      "message": "rpc: add service field to new upcall\n\nThis patch extends the new upcall with a \"service\" field that currently\ncan have 2 values: \"*\" or \"nfs\". These values specify matching rules for\nprincipals in the keytab file. The \"*\" means that gssd is allowed to use\n\"root\", \"nfs\", or \"host\" keytab entries while the other option requires\n\"nfs\".\n\nRestricting gssd to use the \"nfs\" principal is needed for when the\nserver performs a callback to the client.  The server in this case has\nto authenticate itself as an \"nfs\" principal.\n\nWe also need \"service\" field to distiguish between two client-side cases\nboth currently using a uid of 0: the case of regular file access by the\nroot user, and the case of state-management calls (such as setclientid)\nwhich should use a keytab for authentication.  (And the upcall should\nfail if an appropriate principal can\u0027t be found.)\n\nSigned-off: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b1c7bf5b624c9bc91b41ae577b9fc5c21641705",
      "tree": "30189b6146999ba27581a84dfefa9a4ab0e09d69",
      "parents": [
        "61054b14d545e257b9415d5ca0cd5f43762b4d0c"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:19:26 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:19:26 2008 -0500"
      },
      "message": "rpc: add target field to new upcall\n\nThis patch extends the new upcall by adding a \"target\" field\ncommunicating who we want to authenticate to (equivalently, the service\nprincipal that we want to acquire a ticket for).\n\nSigned-off: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "61054b14d545e257b9415d5ca0cd5f43762b4d0c",
      "tree": "7f648cf35a3b79aa1555f21050f11d415b93f381",
      "parents": [
        "945b34a7725a5f0741de7775132aafc58bfecfbb"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:19:00 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:19:00 2008 -0500"
      },
      "message": "nfsd: support callbacks with gss flavors\n\nThis patch adds server-side support for callbacks other than AUTH_SYS.\n\nSigned-off-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "945b34a7725a5f0741de7775132aafc58bfecfbb",
      "tree": "89f209caa8ee7154fe80de1bd02dd81eaadd3bd6",
      "parents": [
        "608207e8884e083ad8b8d33eda868da70f0d63e8"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:18:34 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:18:34 2008 -0500"
      },
      "message": "rpc: allow gss callbacks to client\n\nThis patch adds client-side support to allow for callbacks other than\nAUTH_SYS.\n\nSigned-off-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "608207e8884e083ad8b8d33eda868da70f0d63e8",
      "tree": "86073f5f2e4a550bb1efe395954abe3fa91a555e",
      "parents": [
        "68e76ad0baf8f5d5060377c2423ee6eed5c63057"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:17:40 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:17:40 2008 -0500"
      },
      "message": "rpc: pass target name down to rpc level on callbacks\n\nThe rpc client needs to know the principal that the setclientid was done\nas, so it can tell gssd who to authenticate to.\n\nSigned-off-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "68e76ad0baf8f5d5060377c2423ee6eed5c63057",
      "tree": "baab3e30cc3b50bc49a553ee884885189ce85a8e",
      "parents": [
        "34769fc488b463cb753fc632f8f5ba56c918b7cb"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:17:15 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:17:15 2008 -0500"
      },
      "message": "nfsd: pass client principal name in rsc downcall\n\nTwo principals are involved in krb5 authentication: the target, who we\nauthenticate *to* (normally the name of the server, like\nnfs/server.citi.umich.edu@CITI.UMICH.EDU), and the source, we we\nauthenticate *as* (normally a user, like bfields@UMICH.EDU)\n\nIn the case of NFSv4 callbacks, the target of the callback should be the\nsource of the client\u0027s setclientid call, and the source should be the\nnfs server\u0027s own principal.\n\nTherefore we allow svcgssd to pass down the name of the principal that\njust authenticated, so that on setclientid we can store that principal\nname with the new client, to be used later on callbacks.\n\nSigned-off-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "34769fc488b463cb753fc632f8f5ba56c918b7cb",
      "tree": "870cf1ac132567ad5683cf9882ab0810fb5acc2a",
      "parents": [
        "5b7ddd4a7b19f913901140ef7807dbf5e2b301cd"
      ],
      "author": {
        "name": "\\\"J. Bruce Fields\\",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 23 16:16:37 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:16:37 2008 -0500"
      },
      "message": "rpc: implement new upcall\n\nImplement the new upcall.  We decide which version of the upcall gssd\nwill use (new or old), by creating both pipes (the new one named \"gssd\",\nthe old one named after the mechanism (e.g., \"krb5\")), and then waiting\nto see which version gssd actually opens.\n\nWe don\u0027t permit pipes of the two different types to be opened at once.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5b7ddd4a7b19f913901140ef7807dbf5e2b301cd",
      "tree": "24ecff49a5dfeadb66a5805cc84abd580f52e994",
      "parents": [
        "79a3f20b641f9f93787ada49d1d7cfa98ee5a11e"
      ],
      "author": {
        "name": "\\\"J. Bruce Fields\\",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 23 16:15:44 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:15:44 2008 -0500"
      },
      "message": "rpc: store pointer to pipe inode in gss upcall message\n\nKeep a pointer to the inode that the message is queued on in the struct\ngss_upcall_msg.  This will be convenient, especially after we have a\nchoice of two pipes that an upcall could be queued on.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "79a3f20b641f9f93787ada49d1d7cfa98ee5a11e",
      "tree": "2f7d9f49b18388eb61400e383a9c5c4b070f1915",
      "parents": [
        "cf81939d6fcdf381fcb069d780c29eceb516bccd"
      ],
      "author": {
        "name": "\\\"J. Bruce Fields\\",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 23 16:10:52 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:10:52 2008 -0500"
      },
      "message": "rpc: use count of pipe openers to wait for first open\n\nIntroduce a global variable pipe_version which will eventually be used\nto keep track of which version of the upcall gssd is using.\n\nFor now, though, it only keeps track of whether any pipe is open or not;\nit is negative if not, zero if one is opened.  We use this to wait for\nthe first gssd to open a pipe.\n\n(Minor digression: note this waits only for the very first open of any\npipe, not for the first open of a pipe for a given auth; thus we still\nneed the RPC_PIPE_WAIT_FOR_OPEN behavior to wait for gssd to open new\npipes that pop up on subsequent mounts.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cf81939d6fcdf381fcb069d780c29eceb516bccd",
      "tree": "1f55847a9c540d0f5ab7f42c1bd84fdb7d0cb38a",
      "parents": [
        "e712804ae4bd858bd89272aa3fc1a577294c0940"
      ],
      "author": {
        "name": "\\\"J. Bruce Fields\\",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 23 16:10:19 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:10:19 2008 -0500"
      },
      "message": "rpc: track number of users of the gss upcall pipe\n\nKeep a count of the number of pipes open plus the number of messages on\na pipe.  This count isn\u0027t used yet.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e712804ae4bd858bd89272aa3fc1a577294c0940",
      "tree": "67ac6fc6d7e01b43e648c38fdbc46d4d875452ca",
      "parents": [
        "c381060869317b3c84430d4f54965d409cbfe65f"
      ],
      "author": {
        "name": "\\\"J. Bruce Fields\\",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 23 16:09:47 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:09:47 2008 -0500"
      },
      "message": "rpc: call release_pipe only on last close\n\nI can\u0027t see any reason we need to call this until either the kernel or\nthe last gssd closes the pipe.\n\nAlso, this allows to guarantee that open_pipe and release_pipe are\ncalled strictly in pairs; open_pipe on gssd\u0027s first open, release_pipe\non gssd\u0027s last close (or on the close of the kernel side of the pipe, if\nthat comes first).\n\nThat will make it very easy for the gss code to keep track of which\npipes gssd is using.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c381060869317b3c84430d4f54965d409cbfe65f",
      "tree": "eca752e4fe61fd6e497fede253f83a01a36a365a",
      "parents": [
        "db75b3d6b5b0dad29860370618ea94d2726641b4"
      ],
      "author": {
        "name": "\\\"J. Bruce Fields\\",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 23 16:08:32 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:08:32 2008 -0500"
      },
      "message": "rpc: add an rpc_pipe_open method\n\nWe want to transition to a new gssd upcall which is text-based and more\neasily extensible.\n\nTo simplify upgrades, as well as testing and debugging, it will help if\nwe can upgrade gssd (to a version which understands the new upcall)\nwithout having to choose at boot (or module-load) time whether we want\nthe new or the old upcall.\n\nWe will do this by providing two different pipes: one named, as\ncurrently, after the mechanism (normally \"krb5\"), and supporting the\nold upcall.  One named \"gssd\" and supporting the new upcall version.\n\nWe allow gssd to indicate which version it supports by its choice of\nwhich pipe to open.\n\nAs we have no interest in supporting *simultaneous* use of both\nversions, we\u0027ll forbid opening both pipes at the same time.\n\nSo, add a new pipe_open callback to the rpc_pipefs api, which the gss\ncode can use to track which pipes have been open, and to refuse opens of\nincompatible pipes.\n\nWe only need this to be called on the first open of a given pipe.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "db75b3d6b5b0dad29860370618ea94d2726641b4",
      "tree": "e20ac4190fe09d27f7a48e7f3f46cce6f2dbd5b1",
      "parents": [
        "b03568c32226163cb3588ea8993adb268ed497a5"
      ],
      "author": {
        "name": "\\\"J. Bruce Fields\\",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 23 16:07:13 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:07:13 2008 -0500"
      },
      "message": "rpc: minor gss_alloc_msg cleanup\n\nI want to add a little more code here, so it\u0027ll be convenient to have\nthis flatter.\n\nAlso, I\u0027ll want to add another error condition, so it\u0027ll be more\nconvenient to return -ENOMEM than NULL in the error case.  The only\ncaller is already converting NULL to -ENOMEM anyway.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b03568c32226163cb3588ea8993adb268ed497a5",
      "tree": "5e14a3d1b370e87ac90a0a16234202a3f51eb4c6",
      "parents": [
        "99db35636842ede13bf3b6bf1a8d8f4f1c4c93bf"
      ],
      "author": {
        "name": "\\\"J. Bruce Fields\\",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 23 16:06:55 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:06:55 2008 -0500"
      },
      "message": "rpc: factor out warning code from gss_pipe_destroy_msg\n\nWe\u0027ll want to call this from elsewhere soon.  And this is a bit nicer\nanyway.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "99db35636842ede13bf3b6bf1a8d8f4f1c4c93bf",
      "tree": "2a9bb57a57e8f3fb5e1a8ff9d4235c55f3c9b7ca",
      "parents": [
        "cf8cdbe5bd662eeaece96b017a4d6676ae416537"
      ],
      "author": {
        "name": "\\\"J. Bruce Fields\\",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 23 16:06:33 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:06:33 2008 -0500"
      },
      "message": "rpc: remove unnecessary assignment\n\nWe\u0027re just about to kfree() gss_auth, so there\u0027s no point to setting any\nof its fields.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6dcd3926b214a1fb081df18305921dedae269977",
      "tree": "00847727ce5a34b2b12fa4251c604b0c6a9e1fcd",
      "parents": [
        "64672d55d93c26fb4035fd1a84a803cbc09cb058"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 23 15:21:57 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:57 2008 -0500"
      },
      "message": "sunrpc: fix code that makes auth_gss send destroy_cred message (try #2)\n\nThere\u0027s a bit of a chicken and egg problem when it comes to destroying\nauth_gss credentials. When we destroy the last instance of a GSSAPI RPC\ncredential, we should send a NULL RPC call with a GSS procedure of\nRPCSEC_GSS_DESTROY to hint to the server that it can destroy those\ncreds.\n\nThis isn\u0027t happening because we\u0027re setting clearing the uptodate bit on\nthe credentials and then setting the operations to the gss_nullops. When\nwe go to do the RPC call, we try to refresh the creds. That fails with\n-EACCES and the call fails.\n\nFix this by not clearing the UPTODATE bit for the credentials and adding\na new crdestroy op for gss_nullops that just tears down the cred without\ntrying to destroy the context.\n\nThe only difference between this patch and the first one is the removal\nof some minor formatting deltas.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "64672d55d93c26fb4035fd1a84a803cbc09cb058",
      "tree": "6873f9335b925e4c6a5336544a6f6fc1d789604f",
      "parents": [
        "dc0b027dfadfcb8a5504f7d8052754bf8d501ab9"
      ],
      "author": {
        "name": "Peter Staubach",
        "email": "staubach@redhat.com",
        "time": "Tue Dec 23 15:21:56 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:56 2008 -0500"
      },
      "message": "optimize attribute timeouts for \"noac\" and \"actimeo\u003d0\"\n\nHi.\n\nI\u0027ve been looking at a bugzilla which describes a problem where\na customer was advised to use either the \"noac\" or \"actimeo\u003d0\"\nmount options to solve a consistency problem that they were\nseeing in the file attributes.  It turned out that this solution\ndid not work reliably for them because sometimes, the local\nattribute cache was believed to be valid and not timed out.\n(With an attribute cache timeout of 0, the cache should always\nappear to be timed out.)\n\nIn looking at this situation, it appears to me that the problem\nis that the attribute cache timeout code has an off-by-one\nerror in it.  It is assuming that the cache is valid in the\nregion, [read_cache_jiffies, read_cache_jiffies + attrtimeo].  The\ncache should be considered valid only in the region,\n[read_cache_jiffies, read_cache_jiffies + attrtimeo).  With this\nchange, the options, \"noac\" and \"actimeo\u003d0\", work as originally\nexpected.\n\nThis problem was previously addressed by special casing the\nattrtimeo \u003d\u003d 0 case.  However, since the problem is only an off-\nby-one error, the cleaner solution is address the off-by-one\nerror and thus, not require the special case.\n\n    Thanx...\n\n        ps\n\nSigned-off-by: Peter Staubach \u003cstaubach@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7bd8826915989f1bd6917c11b0a4151b129e68cb",
      "tree": "49aabaf0cefd07c91ab622358550acab8545cfb4",
      "parents": [
        "468039ee469c5772d3e39f736923c5e0c31017e2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:32 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:32 2008 -0500"
      },
      "message": "SUNRPC: rpcsec_gss modules should not be used by out-of-tree code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "468039ee469c5772d3e39f736923c5e0c31017e2",
      "tree": "1e8d193748b509597979340d04092837abd13214",
      "parents": [
        "88a9fe8cae3bb52e82489447f45e8d7ba1409ca8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:31 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:31 2008 -0500"
      },
      "message": "SUNRPC: Convert the xdr helpers and rpc_pipefs to EXPORT_SYMBOL_GPL\n\nWe\u0027ve never considered the sunrpc code as part of any ABI to be used by\nout-of-tree modules.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "88a9fe8cae3bb52e82489447f45e8d7ba1409ca8",
      "tree": "acef9d0b7d4c8c2e98faf852ab8bc0173842fbe5",
      "parents": [
        "136221fc3219b3805c48db5da065e8e3467175d4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:31 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:31 2008 -0500"
      },
      "message": "SUNRPC: Remove the last remnant of the BKL...\n\nSomehow, this escaped the previous purge. There should be no need to keep\nany extra locks in the XDR callbacks.\n\nThe NFS client XDR code only writes into private objects, whereas all reads\nof shared objects are confined to fields that do not change, such as\nfilehandles...\n\nDitto for lockd, the NFSv2/v3 client mount code, and rpcbind.\n\nThe nfsd XDR code may require the BKL, but since it does a synchronous RPC\ncall from a thread that already holds the lock, that issue is moot.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eb14f019597cd86c21a6c601d7e900f40030c2e7",
      "tree": "36fb2f36a1747f98988f87215db1eef3a71d45eb",
      "parents": [
        "9a4a84294b0d60b8c287131478f743ba2bc68949",
        "a3dd15444baa9c7522c8457ab564c41219dfb44c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 20:03:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 20:03:50 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/e1000e/ich8lan.c\n"
    },
    {
      "commit": "b1721d2bb9d015d7e49079414671569a2fc0ac9b",
      "tree": "f8c1cc3d7d3072c5f1d1cf78e430dddca18f1450",
      "parents": [
        "79f55f11a090d9f369448dcb58242c7924873920"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun Dec 14 23:19:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 14 23:19:48 2008 -0800"
      },
      "message": "rpc/rdma: goto instead of copypaste\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5eaa65b240c5eb7bf2235eb9dd177c83e6e3832c",
      "tree": "1a6b217cfc5b241b298a8765f68fcb5f711f9bc3",
      "parents": [
        "2107fb8b5bf018be691afdd4c6ffaecf0c3307be"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Dec 10 15:18:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 15:18:31 2008 -0800"
      },
      "message": "net: Make static\n\nSparse asked whether these could be static.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2433c41789d6aa6797ca747707b7764e88e4fb6d",
      "tree": "a4f1706a1038bb8df671807c9ead0fa6abf9b4ed",
      "parents": [
        "cd92a17eec752f8c948c4b6ab93dc099ce55b8cb",
        "a8d82d9b950213b66b22c9e7c63a058841de2394"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 03 16:40:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 03 16:40:37 2008 -0800"
      },
      "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:\n  NLM: client-side nlm_lookup_host() should avoid matching on srcaddr\n  nfsd: use of unitialized list head on error exit in nfs4recover.c\n  Add a reference to sunrpc in svc_addsock\n  nfsd: clean up grace period on early exit\n"
    },
    {
      "commit": "ff0db0490a2eb6db4f03870987c5c8e3dd81e747",
      "tree": "8ca1dbcb1ed367d3c6ee482a1dfa049ca351e94e",
      "parents": [
        "e14bec2e2b59a6180f04544a867b7e52cd414455"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:58:42 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:58:42 2008 -0800"
      },
      "message": "sunrpc: fix warning in net/sunrpc/xprtrdma/verbs.c\n\nfix this warning:\n\n  net/sunrpc/xprtrdma/verbs.c: In function ‘rpcrdma_conn_upcall’:\n  net/sunrpc/xprtrdma/verbs.c:279: warning: unused variable ‘addr’\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed72b9c6e0ec4e66dd16b7ca212845e1eb985d65",
      "tree": "731d4865ab1b2c3acbc8077b6a03f33b87017a53",
      "parents": [
        "be5a3c62c805878d67036b4683f09118cab4c9fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:49:37 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:49:37 2008 -0800"
      },
      "message": "sunrpc: fix warning in net/sunrpc/xprtrdma/svc_rdma_transport.c\n\nthis warning:\n\n  net/sunrpc/xprtrdma/svc_rdma_transport.c: In function ‘svc_rdma_accept’:\n  net/sunrpc/xprtrdma/svc_rdma_transport.c:830: warning: ‘dma_mr_acc’ may be used uninitialized in this function\n\ntriggers because GCC does not recognize the (correct) flow connection\nbetween need_dma_mr and dma_mr_acc.\n\nAnnotate it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2da2c21d7508d34bc6d600df665d84871b65d2b9",
      "tree": "aac096017d62589c3675d44ffff61dc1676fa9d1",
      "parents": [
        "2c5e76158fcea6e3b9536a74efa7b5e2e846d374"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Nov 23 09:58:08 2008 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 24 10:15:01 2008 -0600"
      },
      "message": "Add a reference to sunrpc in svc_addsock\n\nThe svc_addsock function adds transport instances without taking a\nreference on the sunrpc.ko module, however, the generic transport\ndestruction code drops a reference when a transport instance\nis destroyed.\n\nAdd a try_module_get call to the svc_addsock function for transport\ninstances added by this function.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nTested-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\n"
    },
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "23918b03060f6e572168fdde1798a905679d2e06",
      "tree": "4e95edb5030e461a1eb82e2f1fb9cb90a3b46013",
      "parents": [
        "0cb39aa0ac3a9dc64171b43a85d17e539d82f2d6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Nov 20 16:06:21 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 20 13:17:40 2008 -0800"
      },
      "message": "SUNRPC: Fix a performance regression in the RPC authentication code\n\nFix a regression reported by Max Kellermann whereby kernel profiling\nshowed that his clients were spending 45% of their time in\nrpcauth_lookup_credcache.\n\nIt turns out that although his processes had identical uid/gid/groups,\ngeneric_match() was failing to detect this, because the task-\u003egroup_info\npointers were not shared. This again lead to the creation of a huge number\nof identical credentials at the RPC layer.\n\nThe regression is fixed by comparing the contents of task-\u003egroup_info\nif the actual pointers are not identical.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86a264abe542cfececb4df129bc45a0338d8cdb9",
      "tree": "30152f04ba847f311028d5ca697f864c16c7ebb3",
      "parents": [
        "f1752eec6145c97163dbce62d17cf5d928e28a27"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:18 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:18 2008 +1100"
      },
      "message": "CRED: Wrap current-\u003ecred and a few other accessors\n\nWrap current-\u003ecred and a few other accessors to hide their actual\nimplementation.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b6dff3ec5e116e3af6f537d4caedcad6b9e5082a",
      "tree": "9e76f972eb7ce9b84e0146c8e4126a3f86acb428",
      "parents": [
        "15a2460ed0af7538ca8e6c610fe607a2cd9da142"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "message": "CRED: Separate task security context from task_struct\n\nSeparate the task security context from task_struct.  At this point, the\nsecurity data is temporarily embedded in the task_struct with two pointers\npointing to it.\n\nNote that the Alpha arch is altered as it refers to (E)UID and (E)GID in\nentry.S via asm-offsets.\n\nWith comment fixes Signed-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "8f4194026bb1e3d95fedb340a2935895845ea1d5",
      "tree": "de645daf64b3fc617f88b70a830eab45d7a69cd7",
      "parents": [
        "c2a2b8d3b299feb7ac62c2825941dec57141f6f4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:09 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the SunRPC protocol\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: linux-nfs@vger.kernel.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "e0db4a786bbd73145b4feb45c75d49b6e60fe72c",
      "tree": "0362cd69006902a79b077864164aa892016c1479",
      "parents": [
        "20971a0afb8bc0eeb6865ceadd435e4a2dba0fd7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 02 23:57:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 02 23:57:06 2008 -0800"
      },
      "message": "sunrpc: Fix build warning due to typo in %pI4 format changes.\n\nNoticed by Stephen Hemminger.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21454aaad30651ba0dcc16fe5271bc12ee21f132",
      "tree": "eb525494d6f80a0e855840bc588ae1f422348b04",
      "parents": [
        "14d5e834f6b36667c7da56374645f99b6cf30814"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 31 00:54:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:54:56 2008 -0700"
      },
      "message": "net: replace NIPQUAD() in net/*/\n\nUsing NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u\ncan be replaced with %pI4\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1744d3bee19d3b9cbfb825ab316a101b9c9f109",
      "tree": "c0e2324c09beca0eb5782eb5abf241ea2b7a4a11",
      "parents": [
        "275f165fa970174f8a98205529750e8abb6c0a33",
        "a432226614c5616e3cfd211e0acffa0acfb4770c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:17:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:17:34 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/p54/p54common.c\n"
    },
    {
      "commit": "5b095d98928fdb9e3b75be20a54b7a6cbf6ca9ad",
      "tree": "b6caa0cdbaac016447a790881ad4a6c5dfce6900",
      "parents": [
        "4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "message": "net: replace %p6 with %pI6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c",
      "tree": "946d6cef596756a95afe0cea51f5c3c9be4c3353",
      "parents": [
        "4aa996066ffc0dba24036c961ee38dfdfbfc061c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:50:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:50:24 2008 -0700"
      },
      "message": "net: replace %#p6 format specifier with %pi6\n\ngcc warns when using the # modifier with the %p format specifier,\nso we can\u0027t use this to omit the colons when needed, introduces\n%pi6 instead.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b189db5d299c6824780af5590564ff608adb3dea",
      "tree": "4648900a716af759045c82791d61d935510861bb",
      "parents": [
        "a20fd0a783551831bb6b9b69710e5bbb93dc2730"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 22:38:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 23:02:38 2008 -0700"
      },
      "message": "net: remove NIP6(), NIP6_FMT, NIP6_SEQFMT and final users\n\nOpen code NIP6_FMT in the one call inside sscanf and one user\nof NIP6() that could use %p6 in the netfilter code.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdb46ee752ed05c94bac71fe3decdb5175ec6e1f",
      "tree": "903aa4ba2c7afc996e9ddd3304e64770db830f7d",
      "parents": [
        "0c6ce78abf6e228d44c3840edb8a4ae0c1299825"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:10:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 23:02:32 2008 -0700"
      },
      "message": "net, misc: replace uses of NIP6_FMT with %p6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b071195deba14b37ce896c26f20349b46e5f9fd2",
      "tree": "5f32ddc71be0a282765349301ea9173b413cdc39",
      "parents": [
        "689afa7da106032a3e859ae35494f80dd6eac640"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:05:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 16:05:40 2008 -0700"
      },
      "message": "net: replace all current users of NIP6_SEQFMT with %#p6\n\nThe define in kernel.h can be done away with at a later time.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f707eb429e2c98dfd564ffbbd9f536bf493d869",
      "tree": "5b17c3f51daa9a47959cdf320696a56c72faa70d",
      "parents": [
        "eac0d18d44705f8a1b72cccec3a453e1a43eb20a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:42 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:42 2008 -0400"
      },
      "message": "SUNRPC: Fix potential race in put_rpccred()\n\nWe have to be careful when we try to unhash the credential in\nput_rpccred(), because we\u0027re not holding the credcache lock, so the call to\nrpcauth_unhash_cred() may fail if someone else has looked the cred up, and\nobtained a reference to it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eac0d18d44705f8a1b72cccec3a453e1a43eb20a",
      "tree": "b727174dba608adc5c4cbfaea9e19b2c6ac1cf26",
      "parents": [
        "ae05f269400533cbb32bfba131ab528d78dffd16"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:41 2008 -0400"
      },
      "message": "SUNRPC: Fix rpcauth_prune_expired\n\nWe need to make sure that we don\u0027t remove creds from the cred_unused list\nif they are still under the moratorium, or else they will never get\ngarbage collected.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2a9e1cfa23fb62da37739af81127dab5af095d99",
      "tree": "3fdb86f69ea598163f7096e1f85fd8f5c86bb896",
      "parents": [
        "e946217e4fdaa67681bbabfa8e6b18641921f750"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:39 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:39 2008 -0400"
      },
      "message": "SUNRPC: Respond promptly to server TCP resets\n\nIf the server sends us an RST error while we\u0027re in the TCP_ESTABLISHED\nstate, then that will not result in a state change, and so the RPC client\nends up hanging forever (see\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11154)\n\nWe can intercept the reset by setting up an sk-\u003esk_error_report callback,\nwhich will then allow us to initiate a proper shutdown and retry...\n\nWe also make sure that if the send request receives an ECONNRESET, then we\nshutdown too...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b225ee5bed70254a100896c473e6dd8c2be45c18",
      "tree": "2f044d5898d15edcff858f624618c788d5b58760",
      "parents": [
        "2e532d68a2b3e2aa6b19731501222069735c741c",
        "95a5afca4a8d2e1cb77e1d4bc6ff9f718dc32f7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 08:58:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 08:58:52 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely)\n  ipv4: Add a missing rcu_assign_pointer() in routing cache.\n  [netdrvr] ibmtr: PCMCIA IBMTR is ok on 64bit\n  xen-netfront: Avoid unaligned accesses to IP header\n  lmc: copy_*_user under spinlock\n  [netdrvr] myri10ge, ixgbe: remove broken select INTEL_IOATDMA\n"
    },
    {
      "commit": "95a5afca4a8d2e1cb77e1d4bc6ff9f718dc32f7a",
      "tree": "15452d28df4e4d76fc1276e791a7cc3c6e1a9b3a",
      "parents": [
        "00269b54edbf25f3bb0dccb558ae23a6fc77ed86"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "message": "net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely)\n\nSome code here depends on CONFIG_KMOD to not try to load\nprotocol modules or similar, replace by CONFIG_MODULES\nwhere more than just request_module depends on CONFIG_KMOD\nand and also use try_then_request_module in ebtables.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6925bac120097b823fc990c143b9789c21cc60b5",
      "tree": "0f92e1b22122fba623aeff4c271c16df673244eb",
      "parents": [
        "04ab591808565f968d4406f6435090ad671ebdab",
        "011935a0a710c20bb7ae63523b78856848db1926"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 15 15:54:56 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 15 15:54:56 2008 -0400"
      },
      "message": "Merge branch \u0027next\u0027\n"
    },
    {
      "commit": "8acd3a60bcca17c6d89c73cee3ad6057eb83ba1e",
      "tree": "d610c8d39246c33c499ee9d92d302d3ca9e89ae3",
      "parents": [
        "c269bc00fcb876ae3b85f178f1e34601185c8ccc",
        "107e0008dfb8bd6366bc8827f5bbbc0c1f795d2d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 14 12:31:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 14 12:31:14 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.28\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.28\u0027 of git://linux-nfs.org/~bfields/linux: (59 commits)\n  svcrdma: Fix IRD/ORD polarity\n  svcrdma: Update svc_rdma_send_error to use DMA LKEY\n  svcrdma: Modify the RPC reply path to use FRMR when available\n  svcrdma: Modify the RPC recv path to use FRMR when available\n  svcrdma: Add support to svc_rdma_send to handle chained WR\n  svcrdma: Modify post recv path to use local dma key\n  svcrdma: Add a service to register a Fast Reg MR with the device\n  svcrdma: Query device for Fast Reg support during connection setup\n  svcrdma: Add FRMR get/put services\n  NLM: Remove unused argument from svc_addsock() function\n  NLM: Remove \"proto\" argument from lockd_up()\n  NLM: Always start both UDP and TCP listeners\n  lockd: Remove unused fields in the nlm_reboot structure\n  lockd: Add helper to sanity check incoming NOTIFY requests\n  lockd: change nlmclnt_grant() to take a \"struct sockaddr *\"\n  lockd: Adjust nlmsvc_lookup_host() to accomodate AF_INET6 addresses\n  lockd: Adjust nlmclnt_lookup_host() signature to accomodate non-AF_INET\n  lockd: Support non-AF_INET addresses in nlm_lookup_host()\n  NLM: Convert nlm_lookup_host() to use a single argument\n  svcrdma: Add Fast Reg MR Data Types\n  ...\n"
    },
    {
      "commit": "113aa838ec3a235d883f8357d31d90e16c47fc89",
      "tree": "4e25254fb0402aea01074244879f574e213a9f31",
      "parents": [
        "510149e31974fdbb2c00c9bee6c0e2a688e61c85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "message": "net: Rationalise email address: Network Specific Parts\n\nClean up the various different email addresses of mine listed in the code\nto a single current and valid address. As Dave says his network merges\nfor 2.6.28 are now done this seems a good point to send them in where\nthey won\u0027t risk disrupting real changes.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c055551e97e1ca00781bc41523f829e05a8afed7",
      "tree": "6e4743b84b176788174b66c756b98562ce956a1b",
      "parents": [
        "08ca0dce1eafa419059ac4cad9ed522af7052526"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Fri Oct 10 11:32:45 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:15:06 2008 -0400"
      },
      "message": "RPC/RDMA: ensure connection attempt is complete before signalling.\n\nThe RPC/RDMA connection logic could return early from reconnection\nattempts, leading to additional spurious retries.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "08ca0dce1eafa419059ac4cad9ed522af7052526",
      "tree": "76724d885bcfc89db261f119a6f38a8cbb1a6240",
      "parents": [
        "b3cd8d45a764e6edb06e7bd386faf99a879569b8"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Fri Oct 10 11:32:34 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:15:02 2008 -0400"
      },
      "message": "RPC/RDMA: correct the reconnect timer backoff\n\nThe RPC/RDMA code had a constant 5-second reconnect backoff, and\nalways performed it, even when re-establishing a connection to a\nserver after the RPC layer closed it due to being idle. Make it\nan geometric backoff (up to 30 seconds), and don\u0027t delay idle\nreconnect.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b3cd8d45a764e6edb06e7bd386faf99a879569b8",
      "tree": "e77218bd80d3b9c6ba64b2ff304375458486e514",
      "parents": [
        "5f37d561e0f0cd98017c389cbc22080290f11c3c"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:02:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:13:59 2008 -0400"
      },
      "message": "RPC/RDMA: optionally emit useful transport info upon connect/disconnect.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5f37d561e0f0cd98017c389cbc22080290f11c3c",
      "tree": "747b34df0fa4d36c7597571a9120513dd8aa8609",
      "parents": [
        "5675add36e76b9487e7f9e689f854cb8d6afd9b4"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:52 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:13:42 2008 -0400"
      },
      "message": "RPC/RDMA: reformat a debug printk to keep lines together.\n\nThe send marshaling code split a particular dprintk across two\nlines, which makes it hard to extract from logfiles.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5675add36e76b9487e7f9e689f854cb8d6afd9b4",
      "tree": "414b5e26b099c6aa42ee989925c0dfb8b717366e",
      "parents": [
        "1a954051b0cf79bd67e5f9db40333e3a9b1d05d2"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:13:31 2008 -0400"
      },
      "message": "RPC/RDMA: harden connection logic against missing/late rdma_cm upcalls.\n\nAdd defensive timeouts to wait_for_completion() calls in RDMA\naddress resolution, and make them interruptible. Fix the timeout\nunits to milliseconds (formerly jiffies) and move to private header.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1a954051b0cf79bd67e5f9db40333e3a9b1d05d2",
      "tree": "48a0e5f876776865552cfce522ebee604da30fbb",
      "parents": [
        "926449ba66ce2a45c619bbe755b00d6bdbf0d83e"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:31 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:13:02 2008 -0400"
      },
      "message": "RPC/RDMA: fix connect/reconnect resource leak.\n\nThe RPC/RDMA code can leak RDMA connection manager endpoints in\ncertain error cases on connect. Don\u0027t signal unwanted events,\nand be certain to destroy any allocated qp.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "926449ba66ce2a45c619bbe755b00d6bdbf0d83e",
      "tree": "94bebe684f2d9c1e2954843e571cb2657e75ac05",
      "parents": [
        "9191ca3b381b15b9a88785a8ae2fa4db8e553b0c"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:21 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:12:44 2008 -0400"
      },
      "message": "RPC/RDMA: return a consistent error, when connect fails.\n\nThe xprt_connect call path does not expect such errors as ECONNREFUSED\nto be returned from failed transport connection attempts, otherwise it\ntranslates them to EIO and signals fatal errors. For example, mount.nfs\nprints simply \"internal error\". Translate all such errors to ENOTCONN\nfrom RPC/RDMA to match sockets behavior.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9191ca3b381b15b9a88785a8ae2fa4db8e553b0c",
      "tree": "7357b4009fefff106adab972f0572b3d4e105fa0",
      "parents": [
        "fee08caf943e8ed3446ce42fa085b5e7e5f08d92"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:12:33 2008 -0400"
      },
      "message": "RPC/RDMA: adhere to protocol for unpadded client trailing write chunks.\n\nThe RPC/RDMA protocol allows clients and servers to avoid RDMA\noperations for data which is purely the result of XDR padding.\nOn the client, automatically insert the necessary padding for\nsuch server replies, and optionally don\u0027t marshal such chunks.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fee08caf943e8ed3446ce42fa085b5e7e5f08d92",
      "tree": "21419677bd5210c7a9068b698c23e52cd385f530",
      "parents": [
        "ad0e9e01da4ece70ff524b49c77c5e850d5dd53e"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:01:00 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:11:40 2008 -0400"
      },
      "message": "RPC/RDMA: avoid an oops due to disconnect racing with async upcalls.\n\nRDMA disconnects yield an upcall from the RDMA connection manager,\nwhich can race with rpc transport close, e.g. on ^C of a mount.\nEnsure any rdma cm_id and qp are fully destroyed before continuing.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ad0e9e01da4ece70ff524b49c77c5e850d5dd53e",
      "tree": "bf8f2ee9e7c900b495bc7fd589045c3b407bc791",
      "parents": [
        "575448bd36208f99fe0dd554a43518d798966740"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:00:50 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:10:40 2008 -0400"
      },
      "message": "RPC/RDMA: maintain the RPC task bytes-sent statistic.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "575448bd36208f99fe0dd554a43518d798966740",
      "tree": "191d98d11586952ec961c56b58335cc76346b4b6",
      "parents": [
        "b334eaabf4f92226d2df13c613888a507f03da99"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:00:40 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:10:36 2008 -0400"
      },
      "message": "RPC/RDMA: suppress retransmit on RPC/RDMA clients.\n\nAn RPC/RDMA client cannot retransmit on an unbroken connection,\ndoing so violates its flow control with the server.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b334eaabf4f92226d2df13c613888a507f03da99",
      "tree": "da3ce699ec10898dd41483e52c6e99805be6f363",
      "parents": [
        "3197d309f5fb042499b2c4c8f2fcb67372df5201"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu Oct 09 15:00:30 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:09:56 2008 -0400"
      },
      "message": "RPC/RDMA: fix connection IRD/ORD setting\n\nThis logic sets the connection parameter that configures the local device\nand informs the remote peer how many concurrent incoming RDMA_READ\nrequests are supported. The original logic didn\u0027t really do what was\nintended for two reasons:\n\n- The max number supported by the device is typically smaller than\nany one factor in the calculation used, and\n\n- The field in the connection parameter structure where the value is\nstored is a u8 and always overflows for the default settings.\n\nSo what really happens is the value requested for responder resources\nis the left over 8 bits from the \"desired value\". If the desired value\nhappened to be a multiple of 256, the result was zero and it wouldn\u0027t\nconnect at all.\n\nGiven the above and the fact that max_requests is almost always larger\nthan the max responder resources supported by the adapter, this patch\nsimplifies this logic and simply requests the max supported by the device,\nsubject to a reasonable limit.\n\nThis bug was found by Jim Schutt at Sandia.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3197d309f5fb042499b2c4c8f2fcb67372df5201",
      "tree": "a4cca3420bc99e44af00806abe4a265d539d9c24",
      "parents": [
        "bd7ed1d13304d914648dacec4dbb9145aaae614e"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:00:20 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:09:34 2008 -0400"
      },
      "message": "RPC/RDMA: support FRMR client memory registration.\n\nConfigure, detect and use \"fastreg\" support from IB/iWARP verbs\nlayer to perform RPC/RDMA memory registration.\n\nMake FRMR the default memreg mode (will fall back if not supported\nby the selected RDMA adapter).\n\nThis allows full and optimal operation over the cxgb3 adapter, and others.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nAcked-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bd7ed1d13304d914648dacec4dbb9145aaae614e",
      "tree": "a0eee0c8304ab4bab7baca4675ebf8fffef1e288",
      "parents": [
        "fe9053b30bb48b99f7b45541249f5cfe96bdf7f7"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 15:00:09 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:09:26 2008 -0400"
      },
      "message": "RPC/RDMA: check selected memory registration mode at runtime.\n\nAt transport creation, check for, and use, any local dma lkey.\nThen, check that the selected memory registration mode is in fact\nsupported by the RDMA adapter selected for the mount. Fall back\nto best alternative if not.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nAcked-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fe9053b30bb48b99f7b45541249f5cfe96bdf7f7",
      "tree": "41904e855b60678ae8788e68e8a5944d686b31e3",
      "parents": [
        "8d4ba0347ccfea4f12e56e2484954b891411b74d"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 14:59:59 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:09:24 2008 -0400"
      },
      "message": "RPC/RDMA: add data types and new FRMR memory registration enum.\n\nInternal RPC/RDMA structure updates in preparation for FRMR support.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nAcked-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8d4ba0347ccfea4f12e56e2484954b891411b74d",
      "tree": "839874b3462d28a2876abf0868aa9a6d2c4780b2",
      "parents": [
        "5e2e7721f04c11e6dc4a74b33f05a0e1c0381e2e"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "talpey@netapp.com",
        "time": "Thu Oct 09 14:59:49 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 10 15:09:16 2008 -0400"
      },
      "message": "RPC/RDMA: refactor the inline memory registration code.\n\nRefactor the memory registration and deregistration routines.\nThis saves stack space, makes the code more readable and prepares\nto add the new FRMR registration methods.\n\nSigned-off-by: Tom Talpey \u003ctalpey@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "107e0008dfb8bd6366bc8827f5bbbc0c1f795d2d",
      "tree": "12d6be652e3de5cfcfcec5fe0bc37e4b1d983b44",
      "parents": [
        "2937391385807b3da9cd7a39345259caf550b032",
        "67080c82361b7510b602c87b83399421aa2d2895"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Oct 08 18:22:18 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Oct 08 18:22:18 2008 -0400"
      },
      "message": "Merge branch \u0027from-tomtucker\u0027 into for-2.6.28\n"
    },
    {
      "commit": "63ffc23d307c9534c732edd87895e37b223004a3",
      "tree": "407ae7e2e017f951927b09299c2ec1bf7d0c9987",
      "parents": [
        "d7fb120774f062ce7db439863ab5d4190d6f989c"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Fri Oct 03 23:41:51 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 07 18:19:10 2008 -0400"
      },
      "message": "sunrpc: fix oops in rpc_create when the mount namespace is unshared\n\nOn a system with nfs mounts, if a task unshares its mount namespace,\na oops can occur when the system is rebooted if the task is the last\nto unreference the nfs mount. It will try to create a rpc request\nusing utsname() which has been invalidated by free_nsproxy().\n\nThe patch fixes the issue by using the global init_utsname() which is\nalways valid. the capability of identifying rpc clients per uts namespace\nstills needs some extra work so this should not be a problem.\n\nBUG: unable to handle kernel NULL pointer dereference at 00000004\nIP: [\u003cc024c9ab\u003e] rpc_create+0x332/0x42f\nOops: 0000 [#1] DEBUG_PAGEALLOC\n\nPid: 1857, comm: uts-oops Not tainted (2.6.27-rc5-00319-g7686ad5 #4)\nEIP: 0060:[\u003cc024c9ab\u003e] EFLAGS: 00210287 CPU: 0\nEIP is at rpc_create+0x332/0x42f\nEAX: 00000000 EBX: df26adf0 ECX: c0251887 EDX: 00000001\nESI: df26ae58 EDI: c02f293c EBP: dda0fc9c ESP: dda0fc2c\n DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068\nProcess uts-oops (pid: 1857, ti\u003ddda0e000 task\u003ddd9a0778 task.ti\u003ddda0e000)\nStack: c0104532 dda0fffc dda0fcac dda0e000 dda0e000 dd93b7f0 00000009 c02f2880\n       df26aefc dda0fc68 c01096b7 00000000 c0266ee0 c039a070 c039a070 dda0fc74\n       c012ca67 c039a064 dda0fc8c c012cb20 c03daf74 00000011 00000000 c0275c90\nCall Trace:\n [\u003cc0104532\u003e] ? dump_trace+0xc2/0xe2\n [\u003cc01096b7\u003e] ? save_stack_trace+0x1c/0x3a\n [\u003cc012ca67\u003e] ? save_trace+0x37/0x8c\n [\u003cc012cb20\u003e] ? add_lock_to_list+0x64/0x96\n [\u003cc0256fc4\u003e] ? rpcb_register_call+0x62/0xbb\n [\u003cc02570c8\u003e] ? rpcb_register+0xab/0xb3\n [\u003cc0252f4d\u003e] ? svc_register+0xb4/0x128\n [\u003cc0253114\u003e] ? svc_destroy+0xec/0x103\n [\u003cc02531b2\u003e] ? svc_exit_thread+0x87/0x8d\n [\u003cc01a75cd\u003e] ? lockd_down+0x61/0x81\n [\u003cc01a577b\u003e] ? nlmclnt_done+0xd/0xf\n [\u003cc01941fe\u003e] ? nfs_destroy_server+0x14/0x16\n [\u003cc0194328\u003e] ? nfs_free_server+0x4c/0xaa\n [\u003cc019a066\u003e] ? nfs_kill_super+0x23/0x27\n [\u003cc0158585\u003e] ? deactivate_super+0x3f/0x51\n [\u003cc01695d1\u003e] ? mntput_no_expire+0x95/0xb4\n [\u003cc016965b\u003e] ? release_mounts+0x6b/0x7a\n [\u003cc01696cc\u003e] ? __put_mnt_ns+0x62/0x70\n [\u003cc0127501\u003e] ? free_nsproxy+0x25/0x80\n [\u003cc012759a\u003e] ? switch_task_namespaces+0x3e/0x43\n [\u003cc01275a9\u003e] ? exit_task_namespaces+0xa/0xc\n [\u003cc0117fed\u003e] ? do_exit+0x4fd/0x666\n [\u003cc01181b3\u003e] ? do_group_exit+0x5d/0x83\n [\u003cc011fa8c\u003e] ? get_signal_to_deliver+0x2c8/0x2e0\n [\u003cc0102630\u003e] ? do_notify_resume+0x69/0x700\n [\u003cc011d85a\u003e] ? do_sigaction+0x134/0x145\n [\u003cc0127205\u003e] ? hrtimer_nanosleep+0x8f/0xce\n [\u003cc0126d1a\u003e] ? hrtimer_wakeup+0x0/0x1c\n [\u003cc0103488\u003e] ? work_notifysig+0x13/0x1b\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: 70 20 68 cb c1 2c c0 e8 75 4e 01 00 8b 83 ac 00 00 00 59 3d 00 f0 ff ff 5f 77 63 eb 57 a1 00 80 2d c0 8b 80 a8 02 00 00 8d 73 68 \u003c8b\u003e 40 04 83 c0 45 e8 41 46 f7 ff ba 20 00 00 00 83 f8 21 0f 4c\nEIP: [\u003cc024c9ab\u003e] rpc_create+0x332/0x42f SS:ESP 0068:dda0fc2c\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96165e2b7c4e2c82a0b60c766d4a2036444c21a0",
      "tree": "8adfc4f16a674671671d8bb27270feb84400260f",
      "parents": [
        "9a4bd29fe8f6d3f015fe1c8e5450eb62cfebfcc9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 03 16:48:40 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 07 18:18:57 2008 -0400"
      },
      "message": "SUNRPC: Fix a memory leak in rpcb_getport_async\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9a4bd29fe8f6d3f015fe1c8e5450eb62cfebfcc9",
      "tree": "c3175a0a07ecf41f8eae1204ef5f5421c4b023f5",
      "parents": [
        "d1ce02e1689dff9d413138f60a79b4e3affb4708"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 03 16:48:34 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 07 18:18:53 2008 -0400"
      },
      "message": "SUNRPC: Fix autobind on cloned rpc clients\n\nDespite the fact that cloned rpc clients won\u0027t have the cl_autobind flag\nset, they may still find themselves calling rpcb_getport_async(). For this\nto happen, it suffices for a _parent_ rpc_clnt to use autobinding, in which\ncase any clone may find itself triggering the !xprt_bound() case in\ncall_bind().\n\nThe correct fix for this is to walk back up the tree of cloned rpc clients,\nin order to find the parent that \u0027owns\u0027 the transport, either because it\nhas clnt-\u003ecl_autobind set, or because it originally created the\ntransport...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c9f6cde6e26ef98ee9c4b6288b126ac9c580d88b",
      "tree": "03dcbf503e457df3adeb4f9442fc6fc061fca057",
      "parents": [
        "fd08d7e9d196ca49afcce0181f1f0ca68f241aa2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jul 31 09:53:56 2008 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 07 18:14:54 2008 -0400"
      },
      "message": "sunrpc: do not pin sunrpc module in the memory\n\nBasically, try_module_get here are pretty useless. Any other module using\nthis API will pin sunrpc in memory due using exported symbols.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "67080c82361b7510b602c87b83399421aa2d2895",
      "tree": "4003f47552ac28b54a75826e7230c711e7b64f45",
      "parents": [
        "04911b539c9817aa88a6da8f563e65e3e0bc974b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Fri Oct 03 12:41:14 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:46:13 2008 -0500"
      },
      "message": "svcrdma: Fix IRD/ORD polarity\n\nThe inititator/responder resources in the event have been swapped. They\nno represent what the local peer would set their values to in order to\nmatch the peer. Note that iWARP does not exchange these on the wire and\nthe provider is simply putting in the local device max.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "04911b539c9817aa88a6da8f563e65e3e0bc974b",
      "tree": "9379440a4ca2a972d02d35feb3ac6ab0419e96c4",
      "parents": [
        "afd566ea080572499cc01d42d2f578bf4b54f20f"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Aug 11 15:14:53 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:46:08 2008 -0500"
      },
      "message": "svcrdma: Update svc_rdma_send_error to use DMA LKEY\n\nUpdate the svc_rdma_send_error code to use the DMA LKEY which is valid\nregardless of the memory registration strategy in use.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "afd566ea080572499cc01d42d2f578bf4b54f20f",
      "tree": "cbd0c55f27cfd0a432bf669d6db4cbe0e595a2bf",
      "parents": [
        "146b6df6a537939570c5772ebd7db826fdbd5d82"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Fri Oct 03 15:45:03 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:46:05 2008 -0500"
      },
      "message": "svcrdma: Modify the RPC reply path to use FRMR when available\n\nUse FRMR to map local RPC reply data. This allows RDMA_WRITE to send reply\ndata using a single WR. The FRMR is invalidated by linking the LOCAL_INV WR\nto the RDMA_SEND message used to complete the reply.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "146b6df6a537939570c5772ebd7db826fdbd5d82",
      "tree": "1acf55f3244719e543fb5f6eed6de11c5dd3110e",
      "parents": [
        "5b180a9a64ca2217a658bd515ef910eafefc5e5a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue Aug 12 15:12:10 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:46:01 2008 -0500"
      },
      "message": "svcrdma: Modify the RPC recv path to use FRMR when available\n\nRPCRDMA requests that specify a read-list are fetched with RDMA_READ. Using\nan FRMR to map the data sink improves NFSRDMA security on transports that\nplace the RDMA_READ data sink LKEY on the wire because the valid lifetime\nof the MR is only the duration of the RDMA_READ. The LKEY is invalidated\nwhen the last RDMA_READ WR completes.\n\nMapping the data sink also allows for very large amounts to data to be\nfetched with a single WR, so if the client is also using FRMR, the entire\nRPC read-list can be fetched with a single WR.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "5b180a9a64ca2217a658bd515ef910eafefc5e5a",
      "tree": "61fe08b958b3707be0a516677f72216c06217edd",
      "parents": [
        "a5abf4e81545d9c7280c49cae853cc45fd769ddf"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Aug 11 14:10:19 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:56 2008 -0500"
      },
      "message": "svcrdma: Add support to svc_rdma_send to handle chained WR\n\nWR can be submitted as linked lists of WR. Update the svc_rdma_send\nroutine to handle WR chains. This will be used to submit a WR that\nuses an FRMR with another WR that invalidates the FRMR.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "a5abf4e81545d9c7280c49cae853cc45fd769ddf",
      "tree": "fef48a88715bac9bfdca3e00aa1ed6afb1177004",
      "parents": [
        "e1183210625cc8e02ce13eec78fb7a246567fc59"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue Sep 30 14:05:41 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:52 2008 -0500"
      },
      "message": "svcrdma: Modify post recv path to use local dma key\n\nUpdate the svc_rdma_post_recv routine to use the adapter\u0027s global LKEY\ninstead of sc_phys_mr which is only valid when using a DMA MR.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "e1183210625cc8e02ce13eec78fb7a246567fc59",
      "tree": "c01cb7326fb64b899cc375bbadcea0e4579c6043",
      "parents": [
        "3a5c63803d0552a3ad93b85c262f12cd86471443"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Fri Oct 03 15:22:18 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:49 2008 -0500"
      },
      "message": "svcrdma: Add a service to register a Fast Reg MR with the device\n\nFast Reg MR introduces a new WR type. Add a service to register the\nregion with the adapter and update the completion handling to support\ncompletions with a NULL WR context.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "3a5c63803d0552a3ad93b85c262f12cd86471443",
      "tree": "aec8f9e66b2ac4258a7e379be5ce9abd5670da49",
      "parents": [
        "64be8608c163bd480cf5ec4b34366f11e0f3c87f"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue Sep 30 13:46:13 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:45 2008 -0500"
      },
      "message": "svcrdma: Query device for Fast Reg support during connection setup\n\nQuery the device capabilities in the svc_rdma_accept function to determine\nwhat advanced memory management capabilities are supported by the device.\nBased on the query, select the most secure model available given the\nrequirements of the transport and capabilities of the adapter.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "64be8608c163bd480cf5ec4b34366f11e0f3c87f",
      "tree": "e0a2499259c799d1ac97935107a25c4cefd7cb0c",
      "parents": [
        "0d3ebb9ae9f9c887518fd4c81a68084111d154d7"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:18 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Oct 06 14:45:18 2008 -0500"
      },
      "message": "svcrdma: Add FRMR get/put services\n\nAdd services for the allocating, freeing, and unmapping Fast Reg MR. These\nservices will be used by the transport connection setup, send and receive\nroutines.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "2937391385807b3da9cd7a39345259caf550b032",
      "tree": "6b75733afd1c5eb9a847c72b0c745ffc24aef559",
      "parents": [
        "26a414092353590ceaa5955bcb53f863d6ea7549"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Oct 03 17:15:38 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Oct 04 17:12:27 2008 -0400"
      },
      "message": "NLM: Remove unused argument from svc_addsock() function\n\nClean up: The svc_addsock() function no longer uses its \"proto\"\nargument, so remove it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d5b337b4877f7c4e1d761434ee04d045b0201e03",
      "tree": "0c31c4cfb0f2010a87b0f1ae7246cbd50068306e",
      "parents": [
        "97eb89bb0e5d9ab20dbc677cb18fad1421473287"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun Sep 28 09:21:26 2008 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "nfsd: use nfs client rpc callback program\n\nsince commit ff7d9756b501744540be65e172d27ee321d86103\n\"nfsd: use static memory for callback program and stats\"\ndo_probe_callback uses a static callback program\n(NFS4_CALLBACK) rather than the one set in clp-\u003ecl_callback.cb_prog\nas passed in by the client in setclientid (4.0)\nor create_session (4.1).\n\nThis patches introduces rpc_create_args.prognumber that allows\noverriding program-\u003enumber when creating rpc_clnt.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "db820d6376aa81accf5b648651e160fd76e363e2",
      "tree": "b9447d4316b7319dd9675b9e93b4fdcc07d209a2",
      "parents": [
        "f6fb3f6f591b50fa4f51962ad06ee0d8782e1bc8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Sep 25 11:57:05 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "SUNRPC: Clean up debug messages in rpcb_clnt.c\n\nThe RPCB XDR functions are used for multiple procedures.  For instance,\nrpcb_encode_getaddr() is used for RPCB_GETADDR, RPCB_SET, and\nRPCB_UNSET.  Make the XDR debug messages more generic so they are less\nconfusing.\n\nAnd, unlike in other RPC consumers in the kernel, a single debug flag\nenables all levels of debug messages in the RPC bind client, including\nXDR debug messages.  Since the XDR decoders already report success or\nfailure in this case, remove redundant debug messages in the mid-level\nrpcb_register_call() function.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f6fb3f6f591b50fa4f51962ad06ee0d8782e1bc8",
      "tree": "2a50459b61ffdecac33bf99f41a24ce521994f1d",
      "parents": [
        "9d548b9c955c0709d1229d21d0bc14afa6b356de"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Sep 25 11:56:57 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "SUNRPC: Fix up svc_unregister()\n\nWith the new rpcbind code, a PMAP_UNSET will not have any effect on\nservices registered via rpcbind v3 or v4.\n\nImplement a version of svc_unregister() that uses an RPCB_UNSET with\nan empty netid string to make sure we have cleared *all* entries for\na kernel RPC service when shutting down, or before starting a fresh\ninstance of the service.\n\nUse the new version only when CONFIG_SUNRPC_REGISTER_V4 is enabled;\notherwise, the legacy PMAP version is used to ensure complete\nbackwards-compatibility with the Linux portmapper daemon.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9d548b9c955c0709d1229d21d0bc14afa6b356de",
      "tree": "99a742858c6ad53d4bc790aa096561f18c97a5b0",
      "parents": [
        "2c7eb0b206b8408d92c518033a359f4374c75314"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Sep 15 16:27:30 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "SUNRPC: Use short-hand IPv6 ANYADDR for RPCB_SET\n\nClean up: When doing an RPCB_SET, make the kernel\u0027s rpcb client use the\nshorthand \"::\" for the universal form of the IPv6 ANY address.\n\nWithout this patch, rpcbind will advertise:\n\n  0000:0000:0000:0000:0000:0000:0000:0000.x.y\n\nThis is cosmetic only.  It cleans up the display of information from\n/sbin/rpcinfo.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2c7eb0b206b8408d92c518033a359f4374c75314",
      "tree": "fb3e01b4ede433ec53856574ef683fe54583f2df",
      "parents": [
        "e018040a824ab48211a1fcb86acebc9fc84759b0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Sep 15 16:27:23 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:39 2008 -0400"
      },
      "message": "SUNRPC: Register both netids for AF_INET6 servers\n\nTI-RPC is a user-space library of RPC functions that replaces ONC RPC\nand allows RPC to operate in the new world of IPv6.\n\nTI-RPC combines the concept of a transport protocol (UDP and TCP)\nand a protocol family (PF_INET and PF_INET6) into a single identifier\ncalled a \"netid.\"  For example, \"udp\" means UDP over IPv4, and \"udp6\"\nmeans UDP over IPv6.\n\nFor rpcbind, then, the RPC service tuple that is registered and\nadvertised is:\n\n  [RPC program, RPC version, service address and port, netid]\n\ninstead of\n\n  [RPC program, RPC version, port, protocol]\n\nService address is typically ANYADDR, but can be a specific address\nof one of the interfaces on a multi-homed host.  The third item in\nthe new tuple is expressed as a universal address.\n\nThe current Linux rpcbind implementation registers a netid for both\nprotocol families when RPCB_SET is done for just the PF_INET6 version\nof the netid (ie udp6 or tcp6).  So registering \"udp6\" causes a\nregistration for \"udp\" to appear automatically as well.\n\nWe\u0027ve recently determined that this is incorrect behavior.  In the\nTI-RPC world, \"udp6\" is not meant to imply that the registered RPC\nservice handles requests from AF_INET as well, even if the listener\nsocket does address mapping.  \"udp\" and \"udp6\" are entirely separate\ncapabilities, and must be registered separately.\n\nThe Linux kernel, unlike TI-RPC, leverages address mapping to allow a\nsingle listener socket to handle requests for both AF_INET and AF_INET6.\nThis is still OK, but the kernel currently assumes registering \"udp6\"\nwill cover \"udp\" as well.  It registers only \"udp6\" for it\u0027s AF_INET6\nservices, even though they handle both AF_INET and AF_INET6 on the same\nport.\n\nSo svc_register() actually needs to register both \"udp\" and \"udp6\"\nexplicitly (and likewise for TCP).  Until rpcbind is fixed, the\nkernel can ignore the return code for the second RPCB_SET call.\n\nPlease merge this with commit 15231312:\n\n    SUNRPC: Support IPv6 when registering kernel RPC services\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a26cfad6e0a308a2c68df1f1ef50aabd48b17e6d",
      "tree": "9d200a635720bde73b66fd96e4db9e7ff9be3af7",
      "parents": [
        "7252d575ab0e8771269a3d245c36a05ace5152bd"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:34:16 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:38 2008 -0400"
      },
      "message": "SUNRPC: Support IPv6 when registering kernel RPC services\n\nIn order to advertise NFS-related services on IPv6 interfaces via\nrpcbind, the kernel RPC server implementation must use\nrpcb_v4_register() instead of rpcb_register().\n\nA new kernel build option allows distributions to use the legacy\nv2 call until they integrate an appropriate user-space rpcbind\ndaemon that can support IPv6 RPC services.\n\nI tried adding some automatic logic to fall back if registering\nwith a v4 protocol request failed, but there are too many corner\ncases.  So I just made it a compile-time switch that distributions\ncan throw when they\u0027ve replaced portmapper with rpcbind.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7252d575ab0e8771269a3d245c36a05ace5152bd",
      "tree": "e3a60421367bd4a2a01b823772dc40a2af64960a",
      "parents": [
        "14aeb2118d6e9fd9ee988324c740a00c80979093"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:34:08 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:38 2008 -0400"
      },
      "message": "SUNRPC: Split portmap unregister API into separate function\n\nCreate a separate server-level interface for unregistering RPC services.\n\nThe mechanics of, and the API for, registering and unregistering RPC\nservices will diverge further as support for IPv6 is added.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "14aeb2118d6e9fd9ee988324c740a00c80979093",
      "tree": "ca98af50a2e90fb782605ab6235c3a4b30c5b1a4",
      "parents": [
        "b6632339e3afbcbb438a3c8935190ea22464fc99"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:34:00 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:37 2008 -0400"
      },
      "message": "SUNRPC: Simplify rpcb_register() API\n\nBruce suggested there\u0027s no need to expose the difference between an error\nsending the PMAP_SET request and an error reply from the portmapper to\nrpcb_register\u0027s callers.  The user space equivalent of rpcb_register() is\npmap_set(3), which returns a bool_t : either the PMAP set worked, or it\ndidn\u0027t.  Simple.\n\nSo let\u0027s remove the \"*okay\" argument from rpcb_register() and\nrpcb_v4_register(), and simply return an error if any part of the call\ndidn\u0027t work.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b6632339e3afbcbb438a3c8935190ea22464fc99",
      "tree": "13fb088ceb8b18563c2eae311b0007783a612948",
      "parents": [
        "c8ab5f2a13fb41a878863c61a1e27d78f1844b5e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:33:44 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:37 2008 -0400"
      },
      "message": "SUNRPC: Set V6ONLY socket option for RPC listener sockets\n\nMy plan is to use an AF_INET listener on systems that support only IPv4,\nand an AF_INET6 listener on systems that can support IPv6. Incoming\nIPv4 packets will be posted to an AF_INET6 listener with a mapped IPv4\naddress.\n\nMax Matveev \u003cmakc@sgi.com\u003e says:\n  Creating a single listener can be dangerous - if net.ipv6.bindv6only\n  is enabled then it\u0027s possible to create another listener in v4\n  namespace on the same port and steal the traffic from the \"unifed\"\n  listener. You need to disable V6ONLY explicitly via a sockopt to stop\n  that.\n\nSet appropriate socket option on RPC server listener sockets to prevent\nthis.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5dd248f6f1ffe1f691fd66749e2a3dc8f8eb7b5e",
      "tree": "d6a69e23505080badaa9a6043dbb8d3044a0b73b",
      "parents": [
        "e851db5b05408b89b9a9429a66814b79fabee2a1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jun 30 18:45:37 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 17:56:56 2008 -0400"
      },
      "message": "SUNRPC: Use proper INADDR_ANY when setting up RPC services on IPv6\n\nTeach svc_create_xprt() to use the correct ANY address for AF_INET6 based\nRPC services.\n\nNo caller uses AF_INET6 yet.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    }
  ],
  "next": "e851db5b05408b89b9a9429a66814b79fabee2a1"
}
