)]}'
{
  "log": [
    {
      "commit": "16cefa8c3863721fd40445a1b34dea18cd16ccfe",
      "tree": "c8e58ca06e2edfd667d3e6062a642b80cc58e5e7",
      "parents": [
        "4fbef206daead133085fe33905f5e842d38fb8da",
        "d8558f99fbc5ef5d4ae76b893784005056450f82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:46:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:46:18 2007 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (122 commits)\n  sunrpc: drop BKL around wrap and unwrap\n  NFSv4: Make sure unlock is really an unlock when cancelling a lock\n  NLM: fix source address of callback to client\n  SUNRPC client: add interface for binding to a local address\n  SUNRPC server: record the destination address of a request\n  SUNRPC: cleanup transport creation argument passing\n  NFSv4: Make the NFS state model work with the nosharedcache mount option\n  NFS: Error when mounting the same filesystem with different options\n  NFS: Add the mount option \"nosharecache\"\n  NFS: Add support for mounting NFSv4 file systems with string options\n  NFS: Add final pieces to support in-kernel mount option parsing\n  NFS: Introduce generic mount client API\n  NFS: Add enums and match tables for mount option parsing\n  NFS: Improve debugging output in NFS in-kernel mount client\n  NFS: Clean up in-kernel NFS mount\n  NFS: Remake nfsroot_mount as a permanent part of NFS client\n  SUNRPC: Add a convenient default for the hostname when calling rpc_create()\n  SUNRPC: Rename rpcb_getport to be consistent with new rpcb_getport_sync name\n  SUNRPC: Rename rpcb_getport_external routine\n  SUNRPC: Allow rpcbind requests to be interrupted by a signal.\n  ...\n"
    },
    {
      "commit": "56b3d975bbce65f655c5612b4822da671f9fd9b2",
      "tree": "7e29d70405d9c8e28ddee3b03a07157477fc780f",
      "parents": [
        "3be550f34b03e5eb762f74d447ebbeba97efbd6d"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "message": "[NET]: Make all initialized struct seq_operations const.\n\nMake all initialized struct seq_operations in net/ const\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8558f99fbc5ef5d4ae76b893784005056450f82",
      "tree": "993e2460295fcdc83c8f9ad755790aa066cd0f94",
      "parents": [
        "137d6acaa64afa4cf3d977417424e731ea04705a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jul 10 15:19:26 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:50 2007 -0400"
      },
      "message": "sunrpc: drop BKL around wrap and unwrap\n\nWe don\u0027t need the BKL when wrapping and unwrapping; and experiments by Avishay\nTraeger have found that permitting multiple encryption and decryption\noperations to proceed in parallel can provide significant performance\nimprovements.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Avishay Traeger \u003catraeger@cs.sunysb.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d3bc9a1deb8964d774af8535814cb91bf8f6def0",
      "tree": "c8ae19f3684b40a4c53d948adc3b0f688d373497",
      "parents": [
        "a97476926ec061f90b77da478620ea6dc71a3237"
      ],
      "author": {
        "name": "Frank van Maarseveen",
        "email": "frankvm@frankvm.com",
        "time": "Mon Jul 09 22:23:35 2007 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:49 2007 -0400"
      },
      "message": "SUNRPC client: add interface for binding to a local address\n\nIn addition to binding to a local privileged port the NFS client should\nallow binding to a specific local address. This is used by the server\nfor callbacks. The patch adds the necessary interface.\n\nSigned-off-by: Frank van Maarseveen \u003cfrankvm@frankvm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a97476926ec061f90b77da478620ea6dc71a3237",
      "tree": "0b6ad42f5cca4484ce702cf3fcb016b52ec17cef",
      "parents": [
        "96802a095171f5b35cf0e1e0d4be943e6696a253"
      ],
      "author": {
        "name": "Frank van Maarseveen",
        "email": "frankvm@frankvm.com",
        "time": "Mon Jul 09 22:21:39 2007 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:49 2007 -0400"
      },
      "message": "SUNRPC server: record the destination address of a request\n\nSave the destination address of an incoming request over TCP like is\ndone already for UDP. It is necessary later for callbacks by the server.\n\nSigned-off-by: Frank van Maarseveen \u003cfrankvm@frankvm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96802a095171f5b35cf0e1e0d4be943e6696a253",
      "tree": "edad2ad27532dc7e380ec2fd3854d8c265a004c1",
      "parents": [
        "6f2e64d3e1f661095e274c9d9d47e3f39a6cf1c0"
      ],
      "author": {
        "name": "Frank van Maarseveen",
        "email": "frankvm@frankvm.com",
        "time": "Sun Jul 08 13:08:54 2007 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:49 2007 -0400"
      },
      "message": "SUNRPC: cleanup transport creation argument passing\n\nCleanup argument passing to functions for creating an RPC transport.\n\nSigned-off-by: Frank van Maarseveen \u003cfrankvm@frankvm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "43780b87fa799ae65df11d89d4539d8d6a7c67eb",
      "tree": "46fce452807c8672af77666bb03cab5ff4191e94",
      "parents": [
        "45160d6275814e0c86206e6981f0b92c61a50a21"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Jul 01 12:13:22 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:46 2007 -0400"
      },
      "message": "SUNRPC: Add a convenient default for the hostname when calling rpc_create()\n\nA couple of callers just use a stringified IP address for the rpc client\u0027s\nhostname.  Move the logic for constructing this into rpc_create(), so it can\nbe shared.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "45160d6275814e0c86206e6981f0b92c61a50a21",
      "tree": "0f509c208db20833fb86e13fc0e1b12f49da0b58",
      "parents": [
        "cce63cd6374e6f1b4ea897ece1454feb13993d7c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Jul 01 12:13:17 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:46 2007 -0400"
      },
      "message": "SUNRPC: Rename rpcb_getport to be consistent with new rpcb_getport_sync name\n\nClean up, for consistency.  Rename rpcb_getport as rpcb_getport_async, to\nmatch the naming scheme of rpcb_getport_sync.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cce63cd6374e6f1b4ea897ece1454feb13993d7c",
      "tree": "7e85088b49d36e8860fb3d5845e55bc8785efc3c",
      "parents": [
        "f7fb558e503dc80e100acaf116f7261cdd97f0ca"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Jul 01 12:13:12 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:46 2007 -0400"
      },
      "message": "SUNRPC: Rename rpcb_getport_external routine\n\nIn preparation for handling NFS mount option parsing in the kernel,\nrename rpcb_getport_external as rpcb_get_port_sync, and make it available\nalways (instead of only when CONFIG_ROOT_NFS is enabled).\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f7fb558e503dc80e100acaf116f7261cdd97f0ca",
      "tree": "b2f94354cace9c2d1d0fd641f9c42a212b1bc2dc",
      "parents": [
        "f0768ebd09385551277fcbc8b28c29eb491bf9e2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Jul 01 12:13:07 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:45 2007 -0400"
      },
      "message": "SUNRPC: Allow rpcbind requests to be interrupted by a signal.\n\nThis allows NFS mount requests and RPC re-binding to be interruptible if the\nserver isn\u0027t responding.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8a702bbb7ddaa2e78c17dbaaf48e3cd5943676f0",
      "tree": "82c49e57220dff3d801658a7d0d3eddfedb76758",
      "parents": [
        "0df7fb74fbb709591301871a38aac7735a1d6583"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 27 18:30:26 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:38 2007 -0400"
      },
      "message": "SUNRPC: Suppress some noisy and unnecessary printk() calls in call_verify()\n\nConvert them into dprintk() calls.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0df7fb74fbb709591301871a38aac7735a1d6583",
      "tree": "a5fc18f5aa581a7e8591551f17e86902b5a7e6b3",
      "parents": [
        "0285ed1f12298e5304f0f2642e2cf31a5f302e61"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 26 17:04:57 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:37 2007 -0400"
      },
      "message": "SUNRPC: Ensure RPCSEC_GSS destroys the security context when freeing a cred\n\nDo so by set the gc_proc field to RPC_GSS_PROC_DESTROY, and then sending a\nNULL RPC call.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0285ed1f12298e5304f0f2642e2cf31a5f302e61",
      "tree": "afc4f0829fcbe910c60a89d03c2ea99f71eb78b6",
      "parents": [
        "1be27f36601973815171db684c711d30557cf50c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 27 14:29:12 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:37 2007 -0400"
      },
      "message": "SUNRPC: Ensure that the struct gss_auth lifetime exceeds the credential\u0027s\n\nAdd a refcount in order to ensure that the gss_auth doesn\u0027t disappear from\nunderneath us while we\u0027re freeing up GSS contexts.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1be27f36601973815171db684c711d30557cf50c",
      "tree": "37119def0079958b1ec444ee6a3b2ec3b15337b5",
      "parents": [
        "1dd17ec693bf4a08b666c2ef76b68ca08ce3c93d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 27 14:29:04 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:37 2007 -0400"
      },
      "message": "SUNRPC: Remove the tk_auth macro...\n\nWe should almost always be deferencing the rpc_auth struct by means of the\ncredential\u0027s cr_auth field instead of the rpc_clnt-\u003ecl_auth anyway. Fix up\nthat historical mistake, and remove the macro that propagated it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1dd17ec693bf4a08b666c2ef76b68ca08ce3c93d",
      "tree": "633aabf459c0beafc5ed0ebd7c0efd2e58e7c22b",
      "parents": [
        "5d28dc82074f1e64b22c9424b161abc1f5d6bcdb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 26 16:57:41 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:36 2007 -0400"
      },
      "message": "SUNRPC: Allow rpc_auth to run clean up before the rpc_client is destroyed\n\nRPCSEC_GSS needs to be able to send NULL RPC calls to the server in order\nto free up any remaining GSS contexts.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5d28dc82074f1e64b22c9424b161abc1f5d6bcdb",
      "tree": "4d45f38dfb681a376478def668db7a9cd4cdeee4",
      "parents": [
        "f5c2187cfef628784d8a09b6d0f77888246d0c0f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 26 19:18:38 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:36 2007 -0400"
      },
      "message": "SUNRPC: Convert gss_ctx_lock to an RCU lock\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f5c2187cfef628784d8a09b6d0f77888246d0c0f",
      "tree": "8c648bb9210ea3bd24e6c5fe278951e47ff15faa",
      "parents": [
        "9499b4341b56935f61af9e7e354e7d11e70f5258"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 25 17:11:20 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:36 2007 -0400"
      },
      "message": "SUNRPC: Convert the credential garbage collector into a shrinker callback\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9499b4341b56935f61af9e7e354e7d11e70f5258",
      "tree": "d6ef7a4608e405aef3d270a641fa1f2cbaed6c7d",
      "parents": [
        "31be5bf15f3dafffce110eb1afadccbf2e3067b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 24 15:57:57 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:36 2007 -0400"
      },
      "message": "SUNRPC: Give credential cache a local spinlock\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "31be5bf15f3dafffce110eb1afadccbf2e3067b4",
      "tree": "6e680e926d79a1c5fe6a5a726c3f16cb3b86adfa",
      "parents": [
        "e092bdcd939416ef911090890096fe07d0281a5e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 24 15:55:26 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:36 2007 -0400"
      },
      "message": "SUNRPC: Convert the credcache lookup code to use RCU\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e092bdcd939416ef911090890096fe07d0281a5e",
      "tree": "fdd6800427d470ea1a22d8b2245100277e38a64d",
      "parents": [
        "fc432dd90760a629c57026e57f65ff80a1a31d2f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 23 19:45:36 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:35 2007 -0400"
      },
      "message": "SUNRPC: cleanup rpc credential cache garbage collection\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc432dd90760a629c57026e57f65ff80a1a31d2f",
      "tree": "1df060f199effb8cfd52772e618c0bac7b8d0e9f",
      "parents": [
        "696e38df9d1b256e97b077ecde7afb8dd60364fd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 25 10:15:15 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:35 2007 -0400"
      },
      "message": "SUNRPC: Enforce atomic updates of rpc_cred-\u003ecr_flags\n\nConvert to the use of atomic bitops...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "696e38df9d1b256e97b077ecde7afb8dd60364fd",
      "tree": "715d9c9550c4cffa8362144d7464cf896c2fdb0c",
      "parents": [
        "5fe4755e2526a2aa82b7ed8daeb3aed74a236925"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 25 09:48:25 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:35 2007 -0400"
      },
      "message": "SUNRPC: replace casts in auth_unix.c with container_of()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5fe4755e2526a2aa82b7ed8daeb3aed74a236925",
      "tree": "aceb993080fc6aac5861f04d8a8494becb4046eb",
      "parents": [
        "f1c0a8615090359d57e096157feb9f900cbb233c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 23 19:55:31 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:35 2007 -0400"
      },
      "message": "SUNRPC: Clean up rpc credential initialisation\n\nAdd a helper rpc_cred_init()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f1c0a8615090359d57e096157feb9f900cbb233c",
      "tree": "2d76448a7c83a45944161a3d966a42f922c543dd",
      "parents": [
        "de7a8ce38aea529876db3890b61947bc4bc004da"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 23 20:17:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:34 2007 -0400"
      },
      "message": "SUNRPC: Mark auth and cred operation tables as constant.\n\nAlso do the same for gss_api operation tables.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "de7a8ce38aea529876db3890b61947bc4bc004da",
      "tree": "2067bae81ea0d39631d4caae9a8a092380f1932c",
      "parents": [
        "5e1550d6a2c2dd33ff0ca5febefd8e9c65c6ca1e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 23 10:46:47 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:34 2007 -0400"
      },
      "message": "SUNRPC: Rename rpcauth_destroy() to rpcauth_release()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5e1550d6a2c2dd33ff0ca5febefd8e9c65c6ca1e",
      "tree": "719d24d2da4fb1c68edd9207436edb1fa40ccb09",
      "parents": [
        "64c91a1f1c8bc4295fd6b90df8adf911a7dd64f4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 23 10:17:16 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:34 2007 -0400"
      },
      "message": "SUNRPC: Add the helper function \u0027rpc_call_null()\u0027\n\nDoes a NULL RPC call and returns a pointer to the resulting rpc_task. The\ncall may be either synchronous or asynchronous.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "64c91a1f1c8bc4295fd6b90df8adf911a7dd64f4",
      "tree": "62b8166a9638b6d349779fa2f77f3d7bd18e1aea",
      "parents": [
        "fc1b356f566fe05929ec2a88ce2c7b15f8b6279f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 23 10:17:16 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:34 2007 -0400"
      },
      "message": "SUNRPC: Make rpc_ping() static\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc1b356f566fe05929ec2a88ce2c7b15f8b6279f",
      "tree": "7d790ea2d3618b9cb166081a86797411f3547e44",
      "parents": [
        "07a2bf1da4765d987ffd1d8045e92ba032e0ad78"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 09 16:15:46 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:34 2007 -0400"
      },
      "message": "SUNRPC: Fix races in rpcauth_create\n\nSee the FIXME: auth_flavors[] really needs a lock and module refcounting.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "07a2bf1da4765d987ffd1d8045e92ba032e0ad78",
      "tree": "aae0eca6d85c75f6a5fb8ac538f1f8e58c7088e2",
      "parents": [
        "5c9cfc828ae34e19dabbdb9f2861b8c920454047"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 09 15:42:01 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:33 2007 -0400"
      },
      "message": "SUNRPC: Fix a memory leak in gss_create()\n\nFix a memory leak in gss_create() whereby the rpc credcache was not being\nfreed if the rpc_mkpipe() call failed.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5c9cfc828ae34e19dabbdb9f2861b8c920454047",
      "tree": "a6c2ddf3fa7260d9e321a81c6839c239cfdfc3e0",
      "parents": [
        "3ab9bb7243489f9db3abf3d05521ddfc6b184c0a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 24 15:24:29 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:33 2007 -0400"
      },
      "message": "SUNRPC: Fix a typo in unx_create()\n\nWe want to set the unix_cred_cache.nextgc on the first call to\nunx_create(), which should be when unix_auth.au_count \u003d\u003d\u003d 1\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3ab9bb7243489f9db3abf3d05521ddfc6b184c0a",
      "tree": "05476c58c87c5578354ab8a3befcb7316c9ef9bc",
      "parents": [
        "03a1256f06cf1f58e33971fb4a524479e75c200e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 09 15:41:42 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:33 2007 -0400"
      },
      "message": "SUNRPC: Fix a memory leak in the auth credcache code\n\nThe leak only affects the RPCSEC_GSS caches, since they are the only ones\nthat are dynamically allocated...\nRename the existing rpcauth_free_credcache() to rpcauth_clear_credcache()\nin order to better describe its role, then add a new function\nrpcauth_destroy_credcache() that actually frees the cache in addition to\nclearing it out.\n\nAlso move the call to destroy the credcache in gss_destroy() to come before\nthe rpc upcall pipe is unlinked.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "03a1256f06cf1f58e33971fb4a524479e75c200e",
      "tree": "29da3d4cee02e06e17fcb5087081602f8475b2e5",
      "parents": [
        "62e1761ceff5dbb78c4b4b9486d8ca9fed11b660"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 08 14:14:53 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:33 2007 -0400"
      },
      "message": "SUNRPC: Add a field to track the number of kernel users of an rpc_pipe\n\nThis allows us to correctly deduce when we need to remove the pipe.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "62e1761ceff5dbb78c4b4b9486d8ca9fed11b660",
      "tree": "6d8a31738beec2340ccfe662b352f5aa9b5659f8",
      "parents": [
        "34f308960818e514fadd9365cb5b14cca319320b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 08 14:14:46 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:33 2007 -0400"
      },
      "message": "SUNRPC: Clean up rpc_pipefs.\n\nAdd a dentry_ops with a d_delete() method in order to ensure that dentries\nare removed as soon as the last reference is gone.\n\nClean up rpc_depopulate() so that it only removes files that were created\nvia rpc_populate().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "34f308960818e514fadd9365cb5b14cca319320b",
      "tree": "45b91a37614559d83025356a19771e3537f5cf00",
      "parents": [
        "6e84c7b66a0aa0be16a7728d1e687c57978dac2c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 07 18:28:02 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:32 2007 -0400"
      },
      "message": "SUNRPC: Enable non-exclusive create in rpc_mkpipe()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6e84c7b66a0aa0be16a7728d1e687c57978dac2c",
      "tree": "0aa7ab3d44b1749dca78d554f1d18a5b6fad43ff",
      "parents": [
        "3b68aaeaf54065e5c44583a1d33ffb7793953ba4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 07 15:31:36 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:32 2007 -0400"
      },
      "message": "SUNRPC: Add a downcall queue to struct rpc_inode\n\nCurrently, the downcall queue is tied to the struct gss_auth, which means\nthat different RPCSEC_GSS pseudoflavours must use different upcall pipes.\nAdd a list to struct rpc_inode that can be used instead.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3b68aaeaf54065e5c44583a1d33ffb7793953ba4",
      "tree": "7b2e142d018fece125cc6616c117af575a8c095b",
      "parents": [
        "b185f835e243e654047ae85f42346827d3894171"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 07 10:14:15 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:31 2007 -0400"
      },
      "message": "SUNRPC: Always match an upcall message in gss_pipe_downcall()\n\nIt used to be possible for an rpc.gssd daemon to stuff the RPC credential\ncache for any rpc client simply by creating RPCSEC_GSS contexts and then\ndoing downcalls. In practice, no daemons ever made use of this feature.\n\nRemove this feature now, since it will be impossible to figure out which\nmechanism a given context actually matches if we enable more\nthan one gss mechanism to use the same upcall pipe.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b185f835e243e654047ae85f42346827d3894171",
      "tree": "a9cb1a321003db6e0f7f24ed923c4dd11724bd80",
      "parents": [
        "4a8c1344dccb848dbcf0edabc8b5c51a8ecf2808"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 07 10:14:14 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:31 2007 -0400"
      },
      "message": "SUNRPC: Remove the gss_auth spinlock\n\nWe\u0027re just as well off using the inode spinlock instead.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4a8c1344dccb848dbcf0edabc8b5c51a8ecf2808",
      "tree": "ecfa69d4bc36aefe86c2528240ef69da723f5bf4",
      "parents": [
        "c1384c9c4c184543375b52a0997d06cd98145164"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 07 10:14:14 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:31 2007 -0400"
      },
      "message": "SUNRPC: Add a backpointer from the struct rpc_cred to the rpc_auth\n\nCleans up an issue whereby rpcsec_gss uses the rpc_clnt-\u003ecl_auth. If we want\nto be able to add several rpc_auths to a single rpc_clnt, then this abuse\nmust go.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c1384c9c4c184543375b52a0997d06cd98145164",
      "tree": "26bb2ee42dc2fddfe1817d3066844669912adef2",
      "parents": [
        "6e5b70e9d1e712d8dad5514e0ab5240ac4b5fb57"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 18:00:42 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:31 2007 -0400"
      },
      "message": "SUNRPC: fix hang due to eventd deadlock...\n\nBrian Behlendorf writes:\n\nThe root cause of the NFS hang we were observing appears to be a rare\ndeadlock between the kernel provided usermodehelper API and the linux NFS\nclient.  The deadlock can arise because both of these services use the\ngeneric linux work queues.  The usermodehelper API run the specified user\napplication in the context of the work queue.  And NFS submits both cleanup\nand reconnect work to the generic work queue for handling.  Normally this\nis fine but a deadlock can result in the following situation.\n\n  - NFS client is in a disconnected state\n  - [events/0] runs a usermodehelper app with an NFS dependent operation,\n    this triggers an NFS reconnect.\n  - NFS reconnect happens to be submitted to [events/0] work queue.\n  - Deadlock, the [events/0] work queue will never process the\n    reconnect because it is blocked on the previous NFS dependent\n    operation which will not complete.`\n\nThe solution is simply to run reconnect requests on rpciod.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6e5b70e9d1e712d8dad5514e0ab5240ac4b5fb57",
      "tree": "cb6c293dd5adf1b966dcd5681649fafc690fd053",
      "parents": [
        "188fef11db219f13f32d055ba59985e7d1a349fe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 12 10:02:37 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:30 2007 -0400"
      },
      "message": "SUNRPC: clean up rpc_call_async/rpc_call_sync/rpc_run_task\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "188fef11db219f13f32d055ba59985e7d1a349fe",
      "tree": "b64754962315934c1fa33fca16eabffeb901425a",
      "parents": [
        "f61534dfd38f895b203e2aadaba04f21a992ca8c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 16 14:18:40 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:30 2007 -0400"
      },
      "message": "SUNRPC: Move rpc_register_client and friends into net/sunrpc/clnt.c\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f61534dfd38f895b203e2aadaba04f21a992ca8c",
      "tree": "02485ae68fb2f45cbbc06152e0a4856ceff5f587",
      "parents": [
        "4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 17:31:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:30 2007 -0400"
      },
      "message": "SUNRPC: Remove redundant calls to rpciod_up()/rpciod_down()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b",
      "tree": "cb4ba7df88aee07173dc7e44a3c35249ae4ab539",
      "parents": [
        "ab418d70e1fceda1e2824c45ba3323a1b1413507"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 17:26:17 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:30 2007 -0400"
      },
      "message": "SUNRPC: Make create_client() take a reference to the rpciod workqueue\n\nEnsures that an rpc_client always has the possibility to send asynchronous\nRPC calls.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ab418d70e1fceda1e2824c45ba3323a1b1413507",
      "tree": "f7ece30a34a089476f84afc4a95be459a5cb06bf",
      "parents": [
        "d431a555fcf920e1b5c3e3eba52eb5f5e7836771"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 17:08:36 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:30 2007 -0400"
      },
      "message": "SUNRPC: Optimise rpciod_up()\n\nInstead of taking the mutex every time we just need to increment/decrement\nrpciod_users, we can optmise by using atomic_inc_not_zero and\natomic_dec_and_test.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d431a555fcf920e1b5c3e3eba52eb5f5e7836771",
      "tree": "2f2a11b506742417b91fa2b63d332f4ad27a88db",
      "parents": [
        "4c402b40970382ded616eadd544fd63feb76cc79"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 17 17:07:54 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:29 2007 -0400"
      },
      "message": "SUNRPC: Don\u0027t create an rpc_pipefs directory before rpc_clone is initialised\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4c402b40970382ded616eadd544fd63feb76cc79",
      "tree": "ddff43479ae51f0ba5af566b09e0188563aab17b",
      "parents": [
        "8ad7c892e18ff8e6df422eb48ca0f73268ffd632"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 16:40:32 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:29 2007 -0400"
      },
      "message": "SUNRPC: Remove rpc_clnt-\u003ecl_count\n\nThe kref now does most of what cl_count + cl_user used to do. The only\nremaining role for cl_count is to tell us if we are in a \u0027shutdown\u0027\nphase. We can provide that information using a single bit field instead\nof a full atomic counter.\n\nAlso rename rpc_destroy_client() to rpc_close_client(), which reflects\nbetter what its role is these days.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8ad7c892e18ff8e6df422eb48ca0f73268ffd632",
      "tree": "42e1e0bacc39ef9ea457a4f278d6361e4582ce01",
      "parents": [
        "90c5755ff5111ffdcca10a1e8a823dba29f37b6d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 16:40:32 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:29 2007 -0400"
      },
      "message": "SUNRPC: Make rpc_clone take a reference instead of using cl_count\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90c5755ff5111ffdcca10a1e8a823dba29f37b6d",
      "tree": "a3ca80b629d11e341fa2bcdf30e0d712dcccc3ba",
      "parents": [
        "848f1fe6be2e290691bb6c13cbb8fd92bd0cfaab"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 09 19:49:36 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:29 2007 -0400"
      },
      "message": "SUNRPC: Kill rpc_clnt-\u003ecl_oneshot\n\nReplace it with explicit calls to rpc_shutdown_client() or\nrpc_destroy_client() (for the case of asynchronous calls).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "848f1fe6be2e290691bb6c13cbb8fd92bd0cfaab",
      "tree": "d653340b5e0c8c6ce393e67b11d8958fab4b05e4",
      "parents": [
        "34f52e3591f241b825353ba27def956d8487c400"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 09 19:39:12 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:29 2007 -0400"
      },
      "message": "SUNRPC: Kill rpc_clnt-\u003ecl_dead\n\nIts use is at best racy, and there is only one user (lockd), which has\nadditional locking that makes the whole thing redundant.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "34f52e3591f241b825353ba27def956d8487c400",
      "tree": "9f7f0cd52f206095217bd2469e31c2531cbae0a4",
      "parents": [
        "c44fe705530ff9ea5e563bf9b65bdd29defe682b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 16:40:31 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:28 2007 -0400"
      },
      "message": "SUNRPC: Convert rpc_clnt-\u003ecl_users to a kref\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c44fe705530ff9ea5e563bf9b65bdd29defe682b",
      "tree": "8f4a7eaf29d5d6e1752f5807bc9e9e27d2256f67",
      "parents": [
        "4bef61ff7514396419563ca54fd42ef846485b06"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 16 14:17:01 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:28 2007 -0400"
      },
      "message": "SUNRPC: Clean up tk_pid allocation and make it lockless\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4bef61ff7514396419563ca54fd42ef846485b06",
      "tree": "5ea7eca032557a8ae307661b8c2b887fac257476",
      "parents": [
        "6529eba08fe7297852391a468d95322913de73fa"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 16 14:17:01 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:28 2007 -0400"
      },
      "message": "SUNRPC: Add a per-rpc_clnt spinlock\n\nUse that to protect the rpc_clnt-\u003ecl_tasks list instead of using a global\nlock.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6529eba08fe7297852391a468d95322913de73fa",
      "tree": "6c9e0fa67de82f8a0c0df4e5bed9dbfefe3f1ac2",
      "parents": [
        "c6d00e639bdec5f33460bc95bae4efda7177a6ed"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 16:40:14 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:28 2007 -0400"
      },
      "message": "SUNRPC: Move rpc_task-\u003etk_task list into struct rpc_clnt\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b39e625b6e75aa70e26c13f9378756bb5f2af032",
      "tree": "acf17b925b359b051f476c7e9500c4f4d60f5d0c",
      "parents": [
        "4a35bd41aff5714deb41c8f14766df3871e2e8f7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 11 23:05:07 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:24 2007 -0400"
      },
      "message": "NFSv4: Clean up nfs4_call_async()\n\nUse rpc_run_task() instead of doing it ourselves.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cf8208d0eabd1d5d2625ec02a175a294c3f30d36",
      "tree": "7dd1f75873a2d84a3c626ecd45640d42c1b5dfcf",
      "parents": [
        "f0930fffa99e7fe0a0c4b6c7d9a244dc88288c27"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 12 21:22:14 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "sendfile: convert nfsd to splice_direct_to_actor()\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "dd504ea16f34a29da4aa933ae7ab917fcfd25fd7",
      "tree": "0502645dc159be29c33c992e9e56dc3156074279",
      "parents": [
        "5cf4cf65a8ccca44ec9b357ebdb2b517269d7e8a",
        "0479ea0eab197b3e5d4c731f526c02e5e3fbfbd0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 17 11:36:59 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 17 11:36:59 2007 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/repositories/git/linux-2.6/\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7531d692d4174789d583eb50fcb83cefa121b790",
      "tree": "c3ab10fdccf1863848946e6f3217514542217289",
      "parents": [
        "d48c5f41000ad176df71d2d43932c6c50f938196"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 17:21:26 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 19:33:47 2007 -0400"
      },
      "message": "SUNRPC: Fix sparse warnings\n\n - net/sunrpc/xprtsock.c:1635:5: warning: symbol \u0027init_socket_xprt\u0027 was not\n   declared. Should it be static?\n - net/sunrpc/xprtsock.c:1649:6: warning: symbol \u0027cleanup_socket_xprt\u0027 was\n   not declared. Should it be static?\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9c9cc93ad2a5d9972672e03685af20e8cea1e5a4",
      "tree": "612b444767374c863f6dc344e938f46e6eec3472",
      "parents": [
        "8ae20abdd18c6c7f21bbae931353e7cfad77d7b6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Feb 09 20:06:49 2007 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 19:33:45 2007 -0400"
      },
      "message": "SUNRPC: remove dead variable \u0027rpciod_running\u0027\n\nrpciod_running is not used at all, but due to the way DECLARE_MUTEX_LOCKED\nworks we don\u0027t get a warning for it.\n\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ddce40df6e14dd474bbd9daa006dcc290dea6326",
      "tree": "29995b5d0ad7fcab114d388b4ab1675e32ba963e",
      "parents": [
        "e4cc6ee2e40bdd57990577b7f851fa2ca48edf47"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 09 08:30:11 2007 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 09 17:58:00 2007 -0400"
      },
      "message": "sunrpc: fix crash in rpc_malloc()\n\n\nWhile the comment says:\n * To prevent rpciod from hanging, this allocator never sleeps,\n * returning NULL if the request cannot be serviced immediately.\n\nThe function does not actually check for NULL pointers being returned.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "aa3d1faebe6e214cd96be0e587571477ff6fd9fc",
      "tree": "d2295c15e30437a2bc693bd71b79a42c742ffc8b",
      "parents": [
        "e70c490810dc683fad39e57cf00e69d5f120c542"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue May 08 18:23:28 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 09 17:57:59 2007 -0400"
      },
      "message": "SUNRPC: Fix pointer arithmetic bug recently introduced in rpc_malloc/free\n\nUse a cleaner method to find the size of an rpc_buffer.  This actually\nworks on x86-64!\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9a9136e270af14da506f66bcafcc506b86a86498",
      "tree": "b4d0a6877d92635134b7a944d0032fbc43227fd2",
      "parents": [
        "3960208f9ca0cf6bdb31c21c59ac0526303f8b34",
        "7bb2acb76e8168ca5d0bde5a5a56585a11b3525a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)\n  sound: convert \"sound\" subdirectory to UTF-8\n  MAINTAINERS: Add cxacru website/mailing list\n  include files: convert \"include\" subdirectory to UTF-8\n  general: convert \"kernel\" subdirectory to UTF-8\n  documentation: convert the Documentation directory to UTF-8\n  Convert the toplevel files CREDITS and MAINTAINERS to UTF-8.\n  remove broken URLs from net drivers\u0027 output\n  Magic number prefix consistency change to Documentation/magic-number.txt\n  trivial: s/i_sem /i_mutex/\n  fix file specification in comments\n  drivers/base/platform.c: fix small typo in doc\n  misc doc and kconfig typos\n  Remove obsolete fat_cvf help text\n  Fix occurrences of \"the the \"\n  Fix minor typoes in kernel/module.c\n  Kconfig: Remove reference to external mqueue library\n  Kconfig: A couple of grammatical fixes in arch/i386/Kconfig\n  Correct comments in genrtc.c to refer to correct /proc file.\n  Fix more \"deprecated\" spellos.\n  Fix \"deprecated\" typoes.\n  ...\n\nFix trivial comment conflict in kernel/relay.c.\n"
    },
    {
      "commit": "05ed690efbb28b54af79f97af8c9705e82a6fbd7",
      "tree": "f6c5a437cb8f8c0a666cd1f1a13e39d1fa354146",
      "parents": [
        "c5e434c98b49f4877ea1614a629499e082b1a818"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:34:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "knfsd: simplify a \u0027while\u0027 condition in svcsock.c\n\nThis while loop has an overly complex condition, which performs a couple of\nassignments.  This hurts readability.\n\nWe don\u0027t really need a loop at all.  We can just return -EAGAIN and (providing\nwe set SK_DATA), the function will be called again.\n\nSo discard the loop, make the complex conditional become a few clear function\ncalls, and hopefully improve readability.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5e434c98b49f4877ea1614a629499e082b1a818",
      "tree": "782331ad72eb4920825d3a0e9b99fef74e3d3c5f",
      "parents": [
        "54f9247b3f6e51b24a4b7e873b3ab34d8e59dc45"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed May 09 02:34:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "knfsd: rpcgss: RPC_GSS_PROC_ DESTROY request will get a bad rpc\n\nIf I send a RPC_GSS_PROC_DESTROY message to NFSv4 server, it will reply with a\nbad rpc reply which lacks an authentication verifier.  Maybe this patch is\nneeded.\n\nSend/recv packets as following:\n\nsend:\n\nRemoteProcedureCall\n    xid\n    rpcvers \u003d 2\n    prog \u003d 100003\n    vers \u003d 4\n    proc \u003d 0\n    cred \u003d AUTH_GSS\n        version \u003d 1\n        gss_proc \u003d 3 (RPCSEC_GSS_DESTROY)\n        service  \u003d 1 (RPC_GSS_SVC_NONE)\n    verf \u003d AUTH_GSS\n        checksum\n\nreply:\n\nRemoteProcedureReply\n    xid\n    msg_type\n    reply_stat\n    accepted_reply\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54f9247b3f6e51b24a4b7e873b3ab34d8e59dc45",
      "tree": "30954f9f05e622798e11a368a487d6cb7e87e132",
      "parents": [
        "153e44d22fb5f98198f90fbf56e89b345e48534d"
      ],
      "author": {
        "name": "Frank Filz",
        "email": "ffilzlnx@us.ibm.com",
        "time": "Wed May 09 02:34:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "knfsd: fix resource leak resulting in module refcount leak for rpcsec_gss_krb5.ko\n\nI have been investigating a module reference count leak on the server for\nrpcsec_gss_krb5.ko.  It turns out the problem is a reference count leak for\nthe security context in net/sunrpc/auth_gss/svcauth_gss.c.\n\nThe problem is that gss_write_init_verf() calls gss_svc_searchbyctx() which\ndoes a rsc_lookup() but never releases the reference to the context.  There is\nanother issue that rpc.svcgssd sets an \"end of time\" expiration for the\ncontext\n\nBy adding a cache_put() call in gss_svc_searchbyctx(), and setting an\nexpiration timeout in the downcall, cache_clean() does clean up the context\nand the module reference count now goes to zero after unmount.\n\nI also verified that if the context expires and then the client makes a new\nrequest, a new context is established.\n\nHere is the patch to fix the kernel, I will start a separate thread to discuss\nwhat expiration time should be set by rpc.svcgssd.\n\nAcked-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Frank Filz \u003cffilzlnx@us.ibm.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "153e44d22fb5f98198f90fbf56e89b345e48534d",
      "tree": "1bb266798f1a08d2c5f09f2bd3c87564fea52744",
      "parents": [
        "402acd29e552cb80109d1d5c0ada53f634465d87"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:34:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "knfsd: rpc: fix server-side wrapping of krb5i replies\n\nIt\u0027s not necessarily correct to assume that the xdr_buf used to hold the\nserver\u0027s reply must have page data whenever it has tail data.\n\nAnd there\u0027s no need for us to deal with that case separately anyway.\n\nAcked-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5bd5f5812bfa753218e02cb773e06ede48055798",
      "tree": "266b416bca305ff32cf121490d31fd1b6bf32a75",
      "parents": [
        "cd123012d99fde4759500fee611e724e4f3016e3"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed May 09 02:34:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "sunrpc: fix error path in module_init\n\nregister_rpc_pipefs() needs to clean up rpc_inode_cache\nby kmem_cache_destroy() on register_filesystem() failure.\n\ninit_sunrpc() needs to unregister rpc_pipe_fs by unregister_rpc_pipefs()\nwhen rpc_init_mempool() returns error.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd123012d99fde4759500fee611e724e4f3016e3",
      "tree": "a947c5e4210a2a51ea6619b3e127650feaa00421",
      "parents": [
        "669716433598a1498049e75a84a5aaf69c8da173"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 09 02:34:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "RPC: add wrapper for svc_reserve to account for checksum\n\nWhen the kernel calls svc_reserve to downsize the expected size of an RPC\nreply, it fails to account for the possibility of a checksum at the end of\nthe packet.  If a client mounts a NFSv2/3 with sec\u003dkrb5i/p, and does I/O\nthen you\u0027ll generally see messages similar to this in the server\u0027s ring\nbuffer:\n\nRPC request reserved 164 but used 208\n\nWhile I was never able to verify it, I suspect that this problem is also\nthe root cause of some oopses I\u0027ve seen under these conditions:\n\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d227726\n\nThis is probably also a problem for other sec\u003d types and for NFSv4.  The\nlarge reserved size for NFSv4 compound packets seems to generally paper\nover the problem, however.\n\nThis patch adds a wrapper for svc_reserve that accounts for the possibility\nof a checksum.  It also fixes up the appropriate callers of svc_reserve to\ncall the wrapper.  For now, it just uses a hardcoded value that I\ndetermined via testing.  That value may need to be revised upward as things\nchange, or we may want to eventually add a new auth_op that attempts to\ncalculate this somehow.\n\nUnfortunately, there doesn\u0027t seem to be a good way to reliably determine\nthe expected checksum length prior to actually calculating it, particularly\nwith schemes like spkm3.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ac1bea5507218da03f6005d228789da5a831c3f",
      "tree": "43c0a68d468352f8ca1f42ada7970e3a97411f5b",
      "parents": [
        "f34b95689d2ce001c157b1604289ff240b4bdee0"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:34:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "knfsd: rename sk_defer_lock to sk_lock\n\nNow that sk_defer_lock protects two different things, make the name more\ngeneric.\n\nAlso don\u0027t bother with disabling _bh as the lock is only ever taken from\nprocess context.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59c51591a0ac7568824f541f57de967e88adaa07",
      "tree": "243d20eb0a26b76d5d312f39ec5a1ff60e036711",
      "parents": [
        "02a3e59a088749c08b0293ee1535f5bf48f5926c"
      ],
      "author": {
        "name": "Michael Opdenacker",
        "email": "michael@free-electrons.com",
        "time": "Wed May 09 08:57:56 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:57:56 2007 +0200"
      },
      "message": "Fix occurrences of \"the the \"\n\nSigned-off-by: Michael Opdenacker \u003cmichael@free-electrons.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "215d06780d13fd7de629b02b61b7b7bf88ce5039",
      "tree": "93442b82b26ec08426938404f55fc2fd65f18da5",
      "parents": [
        "60c9b2746f589b0b809582b0471cf30ad3ae439f"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Tue May 08 11:37:26 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 12:03:19 2007 -0700"
      },
      "message": "Fix sunrpc warning noise\n\nCommit c5a4dd8b7c15927a8fbff83171b57cad675a79b9 introduced the following\ncompiler warnings:\n\nnet/sunrpc/sched.c:766: warning: format \u0027%u\u0027 expects type \u0027unsigned int\u0027, but argument 3 has type \u0027size_t\u0027\nnet/sunrpc/sched.c:785: warning: format \u0027%u\u0027 expects type \u0027unsigned int\u0027, but argument 2 has type \u0027size_t\u0027\n\n  - Use %zu to format size_t\n  - Kill 2 useless casts\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61322b30139b79ec77170723a3a80043dcc94e87",
      "tree": "ad62e094f8ec18200ef9739218b264e7686f079f",
      "parents": [
        "b80e183deff5f3d43565b552ed91e511128a6ea9"
      ],
      "author": {
        "name": "J. Bruce Fields - unquoted",
        "email": "bfields@snoopy.citi.umich.edu",
        "time": "Sat Feb 10 01:33:27 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 02 07:37:07 2007 -0700"
      },
      "message": "spkm3: initialize hash\n\nThere\u0027s an initialization step here I missed.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b80e183deff5f3d43565b552ed91e511128a6ea9",
      "tree": "e60d853b0f9f067b40e32860e6e188976fef1a2c",
      "parents": [
        "f32824d8ca9d3f84613ae2422070cc5469fe9e91"
      ],
      "author": {
        "name": "J. Bruce Fields - unquoted",
        "email": "bfields@snoopy.citi.umich.edu",
        "time": "Sat Feb 10 01:33:26 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 02 07:36:45 2007 -0700"
      },
      "message": "spkm3: remove bad kfree, unnecessary export\n\nWe\u0027re kfree()\u0027ing something that was allocated on the stack!\n\nAlso remove an unnecessary symbol export while we\u0027re at it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f32824d8ca9d3f84613ae2422070cc5469fe9e91",
      "tree": "1b3af4f28f76aebfb57e699b374d15f735abba9f",
      "parents": [
        "08efa202eb398ce7939885a4a01df370fd392068"
      ],
      "author": {
        "name": "J. Bruce Fields - unquoted",
        "email": "bfields@snoopy.citi.umich.edu",
        "time": "Sat Feb 10 01:33:25 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 02 07:36:27 2007 -0700"
      },
      "message": "spkm3: fix spkm3\u0027s use of hmac\n\nI think I botched an attempt to keep an spkm3 patch up-to-date with a recent\ncrypto api change.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "00a6e7bbf990e3a5e59a9a1e6a68e99c94fe001c",
      "tree": "fb0427a8b08702c99bf5eba9c6d5bb16ea4ee2bc",
      "parents": [
        "4c2eaf073f0cc2b5bf593b8133c078b9d9406e95"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:48:33 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:16 2007 -0700"
      },
      "message": "SUNRPC: RPC client should retry with different versions of rpcbind\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4c2eaf073f0cc2b5bf593b8133c078b9d9406e95",
      "tree": "4bbb0edabea6dc0d17a27eaf609e8bc5b637c7b1",
      "parents": [
        "df8b172a8880521396d2048ecef7e75df43b5bc4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:48:27 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:15 2007 -0700"
      },
      "message": "SUNRPC: remove old portmapper\n\nnet/sunrpc/pmap_clnt.c has been replaced by net/sunrpc/rpcb_clnt.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "260800142071a3a33e4523c7578358c6e29c0f53",
      "tree": "354bc7ce1d879583bae12323b3c3901b9041f158",
      "parents": [
        "e9b1c9c98c051f49a76dcd76f914c02653aecccb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:48:16 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:13 2007 -0700"
      },
      "message": "SUNRPC: switch the RPC server to use the new rpcbind registration API\n\nEventually this interface will support versions 3 and 4 of the rpcbind\nprotocol, which will allow the Linux RPC server to register services on\nIPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e9b1c9c98c051f49a76dcd76f914c02653aecccb",
      "tree": "62fac1a77a78414eea7ffbdc901a5a5968dca8e5",
      "parents": [
        "a509050bd3b8e0aa269c2241aa10d74ca7701e2f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:48:10 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:13 2007 -0700"
      },
      "message": "SUNRPC: switch socket-based RPC transports to use rpcbind\n\nNow that we have a version of the portmapper that supports versions 3 and 4\nof the rpcbind protocol, use it for new RPC client connections over\nsockets.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a509050bd3b8e0aa269c2241aa10d74ca7701e2f",
      "tree": "47860feb054c6c286fd10c7d19a5ed3c3efb5c32",
      "parents": [
        "c5a4dd8b7c15927a8fbff83171b57cad675a79b9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:48:04 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:12 2007 -0700"
      },
      "message": "SUNRPC: introduce rpcbind: replacement for in-kernel portmapper\n\nIntroduce a replacement for the in-kernel portmapper client that supports\nall 3 versions of the rpcbind protocol.  This code is not used yet.\n\nOriginal code by Groupe Bull updated for the latest kernel, with multiple\nbug fixes.\n\nNote that rpcb_clnt.c does not yet support registering via versions 3 and\n4 of the rpcbind protocol.  That is planned for a later patch.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c5a4dd8b7c15927a8fbff83171b57cad675a79b9",
      "tree": "2d3b1930449b31f69dc70a6e1d4e0f0532f3f118",
      "parents": [
        "2bea90d43a050bbc4021d44e59beb34f384438db"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:47:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:11 2007 -0700"
      },
      "message": "SUNRPC: Eliminate side effects from rpc_malloc\n\nCurrently rpc_malloc sets req-\u003erq_buffer internally.  Make this a more\ngeneric interface:  return a pointer to the new buffer (or NULL) and\nmake the caller set req-\u003erq_buffer and req-\u003erq_bufsize.  This looks much\nmore like kmalloc and eliminates the side effects.\n\nTo fix a potential deadlock, this patch also replaces GFP_NOFS with\nGFP_NOWAIT in rpc_malloc.  This prevents async RPCs from sleeping outside\nthe RPC\u0027s task scheduler while allocating their buffer.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2bea90d43a050bbc4021d44e59beb34f384438db",
      "tree": "2dd3f15bd9df537166a82777b0c95243b90b17e1",
      "parents": [
        "511d2e8855a065c8251d0c140ebc353854f1929e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:47:53 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:10 2007 -0700"
      },
      "message": "SUNRPC: RPC buffer size estimates are too large\n\nThe RPC buffer size estimation logic in net/sunrpc/clnt.c always\nsignificantly overestimates the requirements for the buffer size.\nA little instrumentation demonstrated that in fact rpc_malloc was never\nallocating the buffer from the mempool, but almost always called kmalloc.\n\nTo compute the size of the RPC buffer more precisely, split p_bufsiz into\ntwo fields; one for the argument size, and one for the result size.\n\nThen, compute the sum of the exact call and reply header sizes, and split\nthe RPC buffer precisely between the two.  That should keep almost all RPC\nbuffers within the 2KiB buffer mempool limit.\n\nAnd, we can finally be rid of RPC_SLACK_SPACE!\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "14690fc649f4c59712f497135f7323eb8ceceaaf",
      "tree": "2158421b144cde2c239458f74afb46b70cb28b65",
      "parents": [
        "f8a6d97043f9adc25889876b681998b77f543bfa"
      ],
      "author": {
        "name": "Martin Peschke",
        "email": "mp3@de.ibm.com",
        "time": "Thu Apr 26 01:03:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 01:03:43 2007 -0700"
      },
      "message": "[SUNRPC]: cleanup: use seq_release_private() where appropriate\n\nWe can save some lines of code by using seq_release_private().\n\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "604763722c655c7e3f31ecf6f7b4dafcd26a7a15",
      "tree": "a5c07f0e22ac86e7ca7a8c80bd3f111116610edd",
      "parents": [
        "628592ccdbbb5bb751217cf02e2e7abb500d7ffe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 09 11:59:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:43 2007 -0700"
      },
      "message": "[NET]: Treat CHECKSUM_PARTIAL as CHECKSUM_UNNECESSARY\n\nWhen a transmitted packet is looped back directly, CHECKSUM_PARTIAL\nmaps to the semantics of CHECKSUM_UNNECESSARY.  Therefore we should\ntreat it as such in the stack.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7aa0bf70c4afb9e38be25f5c0922498d0f8684c",
      "tree": "4bc9d61031f4eb40d73887d6bde09e7d6bf2b259",
      "parents": [
        "3927f2e8f9afa3424bb51ca81f7abac01ffd0005"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Apr 19 16:16:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:34 2007 -0700"
      },
      "message": "[NET]: convert network timestamps to ktime_t\n\nWe currently use a special structure (struct skb_timeval) and plain\n\u0027struct timeval\u0027 to store packet timestamps in sk_buffs and struct\nsock.\n\nThis has some drawbacks :\n- Fixed resolution of micro second.\n- Waste of space on 64bit platforms where sizeof(struct timeval)\u003d16\n\nI suggest using ktime_t that is a nice abstraction of high resolution\ntime services, currently capable of nanosecond resolution.\n\nAs sizeof(ktime_t) is 8 bytes, using ktime_t in \u0027struct sock\u0027 permits\na 8 byte shrink of this structure on 64bit architectures. Some other\nstructures also benefit from this size reduction (struct ipq in\nipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...)\n\nOnce this ktime infrastructure adopted, we can more easily provide\nnanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or\nSO_TIMESTAMPNS/SCM_TIMESTAMPNS)\n\nNote : this patch includes a bug correction in\ncompat_sock_get_timestamp() where a \"err \u003d 0;\" was missing (so this\nsyscall returned -ENOENT instead of 0)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCC: John find \u003clinux.kernel@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "241c39b9ac4bf847013aa06cce6d4d61426a2006",
      "tree": "6455884e65288e64576555a27c06a8ee2f1f6371",
      "parents": [
        "2b82f190c81bf1524447c021df4e9ce8ef379bd5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 20 16:12:55 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 20 22:56:30 2007 -0700"
      },
      "message": "RPC: Fix the TCP resend semantics for NFSv4\n\nFix a regression due to the patch \"NFS: disconnect before retrying NFSv4\nrequests over TCP\"\n\nThe assumption made in xprt_transmit() that the condition\n\t\"req-\u003erq_bytes_sent \u003d\u003d 0 and request is on the receive list\"\nshould imply that we\u0027re dealing with a retransmission is false.\nFirstly, it may simply happen that the socket send queue was full\nat the time the request was initially sent through xprt_transmit().\nSecondly, doing this for each request that was retransmitted implies\nthat we disconnect and reconnect for _every_ request that happened to\nbe retransmitted irrespective of whether or not a disconnection has\nalready occurred.\n\nFix is to move this logic into the call_status request timeout handler.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30f3deeee81cf22546da1b0b89a937bb991dea23",
      "tree": "3747930c11b5cf0b25c96ddd161e541c1b00010c",
      "parents": [
        "94256dd680f837dc14dd7d1377c5326fb3362721"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 16 22:53:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:27 2007 -0700"
      },
      "message": "knfsd: use a spinlock to protect sk_info_authunix\n\nsk_info_authunix is not being protected properly so the object that it\npoints to can be cache_put twice, leading to corruption.\n\nWe borrow svsk-\u003esk_defer_lock to provide the protection.  We should\nprobably rename that lock to have a more generic name - later.\n\nThanks to Gabriel for reporting this.\n\nCc: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nCc: Gabriel Barazer \u003cgabriel@oxeva.fr\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc375ea7efcda0450b7cba9b3514e76d2e1cea79",
      "tree": "321c7a881214991758b66d6877cae4cd0d2071c2",
      "parents": [
        "1d51c69fb6e61054cd6cc485f9bef77d19d82751"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 12 13:35:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 12 13:35:59 2007 -0700"
      },
      "message": "[SUNRPC]: Make sure on-stack cmsg buffer is properly aligned.\n\nBased upon a report from Meelis Roos.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "418106d6248618bca1add65168a82974c72206db",
      "tree": "fe8b9484c06814c8d11f4e114db460ebbe613f3c",
      "parents": [
        "5792a2856a63cdc568e08a7d6f9b2413d9217b3e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Apr 04 19:08:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 04 21:12:47 2007 -0700"
      },
      "message": "[PATCH] net/sunrpc/svcsock.c: fix a check\n\nThe return value of kernel_recvmsg() should be assigned to \"err\", not\ncompared with the random value of a never initialized \"err\" (and the \"\u003c 0\"\ncheck wrongly always returned false since \u003d\u003d comparisons never have a\nresult \u003c 0).\n\nSpotted by the Coverity checker.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42a7fc4a6598221f1a547a76cdd45a8ab4d90e93",
      "tree": "b785321af2e530e25e79924e8c11ef9dc8463244",
      "parents": [
        "cda1fd4abd773216a888487af0170d0cc3d50454"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@sgi.com",
        "time": "Tue Mar 06 01:42:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:26 2007 -0800"
      },
      "message": "[PATCH] knfsd: provide sunrpc pool_mode module option\n\nProvide a module param \"pool_mode\" for sunrpc.ko which allows a sysadmin to\nchoose the mode for mapping NFS thread service pools to CPUs.  Values are:\n\nauto\t    choose a mapping mode heuristically\nglobal\t    (default, same as the pre-2.6.19 code) a single global pool\npercpu\t    one pool per CPU\npernode\t    one pool per NUMA node\n\nNote that since 2.6.19 the hardcoded behaviour has been \"auto\", this patch\nmakes the default \"global\".\n\nThe pool mode can be changed after boot/modprobe using /sys, if the NFS and\nlockd services have been shut down.  A useful side effect of this change is to\nfix a small memory leak when unloading the module.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cda1fd4abd773216a888487af0170d0cc3d50454",
      "tree": "aed6662bab1789a1698644f2e1d0db4255ecad67",
      "parents": [
        "5a05ed73e1abfd7e0e7d474817245861deaa18af"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 06 01:42:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:26 2007 -0800"
      },
      "message": "[PATCH] knfsd: fix recently introduced problem with shutting down a busy NFS server\n\nWhen the last thread of nfsd exits, it shuts down all related sockets.  It\ncurrently uses svc_close_socket to do this, but that only is immediately\neffective if the socket is not SK_BUSY.\n\nIf the socket is busy - i.e.  if a request has arrived that has not yet been\nprocesses - svc_close_socket is not effective and the shutdown process spins.\n\nSo create a new svc_force_close_socket which removes the SK_BUSY flag is set\nand then calls svc_close_socket.\n\nAlso change some open-codes loops in svc_destroy to use\nlist_for_each_entry_safe.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a05ed73e1abfd7e0e7d474817245861deaa18af",
      "tree": "df2e9b2717719dc900be6a11db4cb33d4b237aae",
      "parents": [
        "7a37f5787e76bf1765c1add3a9a7163f841a28bb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 06 01:42:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:26 2007 -0800"
      },
      "message": "[PATCH] knfsd: remove CONFIG_IPV6 ifdefs from sunrpc server code\n\nThey don\u0027t really save that much, and aren\u0027t worth the hassle.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a37f5787e76bf1765c1add3a9a7163f841a28bb",
      "tree": "f67e69f082bf6a6083e3b0cff089d1bba1d1da0c",
      "parents": [
        "0e8cd28a084691587549630dce728661401d343b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 06 01:42:21 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:26 2007 -0800"
      },
      "message": "[PATCH] knfsd: use recv_msg to get peer address for NFSD instead of code-copying\n\nThe sunrpc server code needs to know the source and destination address for\nUDP packets so it can reply properly.  It currently copies code out of the\nnetwork stack to pick the pieces out of the skb.  This is ugly and causes\ncompile problems with the IPv6 stuff.\n\nSo, rip that out and use recv_msg instead.  This is a much cleaner interface,\nbut has a slight cost in that the checksum is now checked before the copy, so\nwe don\u0027t benefit from doing both at the same time.  This can probably be\nfixed.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53b8a315b76a3f3c70a5644976c0095460eb13d8",
      "tree": "f407a607adb1f552942aef9150ec709ed3f01798",
      "parents": [
        "74c7aa8b8581e0ba8d6d17c623b9279aaabbb0cf"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Feb 20 13:57:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:13 2007 -0800"
      },
      "message": "[PATCH] Convert highest_possible_processor_id to nr_cpu_ids\n\nWe frequently need the maximum number of possible processors in order to\nallocate arrays for all processors.  So far this was done using\nhighest_possible_processor_id().  However, we do need the number of\nprocessors not the highest id.  Moreover the number was so far dynamically\ncalculated on each invokation.  The number of possible processors does not\nchange when the system is running.  We can therefore calculate that number\nonce.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74c7aa8b8581e0ba8d6d17c623b9279aaabbb0cf",
      "tree": "e8bfdd1d4bd5a7d4ee0e0bbf83c45c9f2b5deb59",
      "parents": [
        "5ec553a90448b3edbd26c1acc72464f877614bfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Feb 20 13:57:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:13 2007 -0800"
      },
      "message": "[PATCH] Replace highest_possible_node_id() with nr_node_ids\n\nhighest_possible_node_id() is currently used to calculate the last possible\nnode idso that the network subsystem can figure out how to size per node\narrays.\n\nI think having the ability to determine the maximum amount of nodes in a\nsystem at runtime is useful but then we should name this entry\ncorrespondingly, it should return the number of node_ids, and the the value\nneeds to be setup only once on bootup.  The node_possible_map does not\nchange after bootup.\n\nThis patch introduces nr_node_ids and replaces the use of\nhighest_possible_node_id().  nr_node_ids is calculated on bootup when the\npage allocators pagesets are initialized.\n\n[deweerdt@free.fr: fix oops]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b4d414714f0d2f922d39424b0c5c82ad900a381",
      "tree": "5079ec59a5622c9cacfe0fce484ba2c4626c406f",
      "parents": [
        "ae836810263509ff7a3c2c021754ce6f66b3fab6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:59 2007 -0800"
      },
      "message": "[PATCH] sysctl: remove insert_at_head from register_sysctl\n\nThe semantic effect of insert_at_head is that it would allow new registered\nsysctl entries to override existing sysctl entries of the same name.  Which is\npain for caching and the proc interface never implemented.\n\nI have done an audit and discovered that none of the current users of\nregister_sysctl care as (excpet for directories) they do not register\nduplicate sysctl entries.\n\nSo this patch simply removes the support for overriding existing entries in\nthe sys_sysctl interface since no one uses it or cares and it makes future\nenhancments harder.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b1bec5f52fec033ed0026e7d85f641e20e1cbb9",
      "tree": "b40e7602e530db4772a0a8b86762cc82413163e3",
      "parents": [
        "7e35280e517c28b991667a608990227503dd2a30"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:33:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:55 2007 -0800"
      },
      "message": "[PATCH] sysctl: sunrpc: don\u0027t unnecessarily set ctl_table-\u003ede\n\nWe don\u0027t need this to prevent module unload races so remove the unnecessary\ncode.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e35280e517c28b991667a608990227503dd2a30",
      "tree": "8253209f6c30f29eac09dd907d45e7ecaa9b9577",
      "parents": [
        "50d851f7227cf9e7fcc4cd1d2b3c72ddd64c50e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:33:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:55 2007 -0800"
      },
      "message": "[PATCH] sysctl: sunrpc: remove unnecessary insert_at_head flag\n\nBecause the sunrpc sysctls don\u0027t conflict with any other sysctls the setting\nthe insert at head flag to register_sysctl has no semantic meaning.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fc605a2aa38899c12180ca311f1eeb61a6d867e",
      "tree": "4a75b90cc8cffca4661642360cbec42a424bf9cf",
      "parents": [
        "af6a4e280e3ff453653f39190b57b345ff0bec16"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 14 00:33:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:53 2007 -0800"
      },
      "message": "[PATCH] knfsd: allow the server to provide a gid list when using AUTH_UNIX authentication\n\nAUTH_UNIX authentication (the standard with NFS) has a limit of 16 groups ids.\n This causes problems for people in more than 16 groups.\n\nSo allow the server to map a uid into a list of group ids based on local\nknowledge rather depending on the (possibly truncated) list from the client.\n\nIf there is no process on the server responding to upcalls, the gidlist in the\nrequest will still be used.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "d9bc125caf592b7d081021f32ce5b717efdf70c8"
}
