)]}'
{
  "log": [
    {
      "commit": "689cf5c15baf603a8041565ff0bd0d65d1634fd7",
      "tree": "83fc6e666f0c099486cfcdb41b40c02d9fa163b7",
      "parents": [
        "cf3b01b54880debb01ea7d471123da5887a7c2cb"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Mon Dec 14 21:27:56 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:55:18 2009 -0500"
      },
      "message": "nfs: enforce FIFO ordering of operations trying to acquire slot\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "48f186124220794fce85ed1439fc32f16f69d3e2",
      "tree": "c200395b4238a19d6653b23a43537ac29b7b8cf4",
      "parents": [
        "afe6c27ccb8cc31ce8ed0bd3589ce549f523c8e7"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Mon Dec 14 21:27:53 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:51:17 2009 -0500"
      },
      "message": "rpc: add rpc_queue_empty function\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6951867b9967066eda090f46ad91ce69e0ead611",
      "tree": "b91229a4ae364e11e2347a650a4bbfca77797932",
      "parents": [
        "aed100fafb90aaabe8fb31e58af9dc7e68696507"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu Sep 10 12:25:04 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Sep 10 12:09:06 2009 -0400"
      },
      "message": "nfsd41: sunrpc: move struct rpc_buffer def into sunrpc.h\n\nMove struct rpc_buffer\u0027s definition into a sunrpc.h, a common, internal\nheader file, in preparation for supporting the nfsv4.1 backchannel.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: #include \u003clinux/net.h\u003e from sunrpc.h]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aae2006e9b0c294114915c13022fa348e1a88023",
      "tree": "2643d2ed1b2d44c5e5d7577e1ae0516eae95f977",
      "parents": [
        "c3fad1b1aaf850bf692642642ace7cd0d64af0a3"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:40 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:07 2009 -0700"
      },
      "message": "nfs41: sunrpc: Export the call prepare state for session reset\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eb9b55ab4d73280597fd183b367d50452f4d7846",
      "tree": "80e0c4e5315ea5fd18bb5ba9d37ec5f77170631a",
      "parents": [
        "16b71fdf97599f1b1b7f38418ee9922d9f117396"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 10 20:33:16 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 10 20:33:16 2009 -0400"
      },
      "message": "SUNRPC: Tighten up the task locking rules in __rpc_execute()\n\nWe should probably not be testing any flags after we\u0027ve cleared the\nRPC_TASK_RUNNING flag, since rpc_make_runnable() is then free to assign the\nrpc_task to another workqueue, which may then destroy it.\n\nWe can fix any races with rpc_make_runnable() by ensuring that we only\nclear the RPC_TASK_RUNNING flag while holding the rpc_wait_queue-\u003elock that\nthe task is supposed to be sleeping on (and then checking whether or not\nthe task really is sleeping).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a86dc496b764ebb1431677b38eab45310e5a2ad4",
      "tree": "2ca9fa18c4f58de08acc7c8f9ea251a279eeba9b",
      "parents": [
        "c3cc8c019ca09767d7c9b5457d5cf8ac65085f44"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 13:37:09 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:57 2008 -0400"
      },
      "message": "SUNRPC: Remove the BKL from the callback functions\n\nPush it into those callback functions that actually need it.\n\nNote that all the NFS operations use their own locking, so don\u0027t need the\nBKL. Ditto for the rpcbind client.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a486aeda9b2b0d944aecce7871b3186379b898de",
      "tree": "724ee69f012083efcd379733ba783efbe6341ab2",
      "parents": [
        "d25a03cf966f2cf9990dc0bf2a921a554919ea34"
      ],
      "author": {
        "name": "\\\\\\\"J. Bruce Fields\\\\\\",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 09 16:51:35 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:14 2008 -0400"
      },
      "message": "rpc: minor cleanup of scheduler callback code\n\nTry to make the comment here a little more clear and concise.\n\nAlso, this macro definition seems unnecessary.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ccda2cdd8d156b6f49440653d5d6997e0facf97",
      "tree": "fd75203f002edfd1657c9ca7bcb5494a7b783cf1",
      "parents": [
        "af093835774931de898a9baf7b4041fa0d100f77"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 16:20:55 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:35 2008 -0400"
      },
      "message": "SUNRPC: Clean up rpcauth_bindcred()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "af093835774931de898a9baf7b4041fa0d100f77",
      "tree": "f7617eb4556ead8615f6c26d8b02fcec8f64c6b3",
      "parents": [
        "25337fdc85951dfeac944f16cb565904c619077a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 12:12:16 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:32 2008 -0400"
      },
      "message": "SUNRPC: Fix RPCAUTH_LOOKUP_ROOTCREDS\n\nThe current RPCAUTH_LOOKUP_ROOTCREDS flag only works for AUTH_SYS\nauthentication, and then only as a special case in the code. This patch\nremoves the auth_sys special casing, and replaces it with generic code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5e4424af9a1f062c6451681dff24a26e27741cc6",
      "tree": "fcba54a8fc2d94c1d691ab5b8b956ac71b5cb8d4",
      "parents": [
        "ff2d7db848f8db7cade39e55f78f86d77e0de01a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:53:49 2008 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:26:28 2008 -0800"
      },
      "message": "SUNRPC: Remove now-redundant RCU-safe rpc_task free path\n\nNow that we\u0027ve tightened up the locking rules for RPC queue wakeups, we can\nremove the RCU-safe kfree calls...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f5fb7b06e4e4ab18326f067f4317b2016ce18af2",
      "tree": "c1a2c972d373d503b432f592b52d4fd2a59a1b46",
      "parents": [
        "eb276c0e10187702928aeaa133e1d3dbaf3eafc7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:50 2008 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:26:25 2008 -0800"
      },
      "message": "SUNRPC: Eliminate the now-redundant rpc_start_wakeup()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eb276c0e10187702928aeaa133e1d3dbaf3eafc7",
      "tree": "f7cfb639d97747f32573dc72970aa9bf589fb0da",
      "parents": [
        "36df9aae3158ce8fc4ede241169dc94ac910d884"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 17:27:59 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:26:21 2008 -0800"
      },
      "message": "SUNRPC: Switch tasks to using the rpc_waitqueue\u0027s timer function\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "36df9aae3158ce8fc4ede241169dc94ac910d884",
      "tree": "5f6caa22ce9414850fd34eefb54150b120a8f4e7",
      "parents": [
        "f6a1cc89309f0ae847a9b6fe418d1c4215e5bc55"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 18 16:18:52 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:21:59 2008 -0800"
      },
      "message": "SUNRPC: Add a timer function to wait queues.\n\nThis is designed to replace the timeout timer in the individual rpc_tasks.\nBy putting the timer function in the wait queue, we will eventually be able\nto reduce the total number of timers in use by the RPC subsystem.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f6a1cc89309f0ae847a9b6fe418d1c4215e5bc55",
      "tree": "4f5d585dd901718d66d9c354625f9a0bc85c234d",
      "parents": [
        "5d00837b90340af9106dcd93af75fd664c8eb87f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 17:06:55 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:17:27 2008 -0800"
      },
      "message": "SUNRPC: Add a (empty for the moment) destructor for rpc_wait_queues\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5d00837b90340af9106dcd93af75fd664c8eb87f",
      "tree": "f537dc84421cf150d66b630e56ea8107078c07a8",
      "parents": [
        "fda1393938035559b417dd5b26b9cc293a7aee00"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 16:34:17 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:44 2008 -0800"
      },
      "message": "SUNRPC: Run rpc timeout functions as callbacks instead of in softirqs\n\nAn audit of the current RPC timeout functions shows that they don\u0027t really\never need to run in the softirq context. As long as the softirq is\nable to signal that the wakeup is due to a timeout (which it can do by\nsetting task-\u003etk_status to -ETIMEDOUT) then the callback functions can just\nrun as standard task-\u003etk_callback functions (in the rpciod/process\ncontext).\n\nThe only possible border-line case would be xprt_timer() for the case of\nUDP, when the callback is used to reduce the size of the transport\ncongestion window. In testing, however, the effect of moving that update\nto a callback would appear to be minor.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fda1393938035559b417dd5b26b9cc293a7aee00",
      "tree": "8190a6ad7a81974dd5f782f2ab872753742ff68d",
      "parents": [
        "96ef13b283934fbf60b732e6c4ce23e8babd0042"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 16:34:12 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:42 2008 -0800"
      },
      "message": "SUNRPC: Convert users of rpc_wake_up_task to use rpc_wake_up_queued_task\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96ef13b283934fbf60b732e6c4ce23e8babd0042",
      "tree": "9efa8e92ff2e7f27746b65214a43ca3a4aed1b14",
      "parents": [
        "fde95c7554aa77f9a242f32b0b5f8f15395abf52"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 15:46:41 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:40 2008 -0800"
      },
      "message": "SUNRPC: Add a new helper rpc_wake_up_queued_task()\n\nIn all cases where we currently use rpc_wake_up_task(), we almost always\nknow on which waitqueue the rpc_task is actually sleeping. This will allows\nus to simplify the queue locking in a future patch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fde95c7554aa77f9a242f32b0b5f8f15395abf52",
      "tree": "293e0161eb30e1e87a305d07e57f54f483655b78",
      "parents": [
        "101070ca2fe67186f5f5517b66cb4757b17f4e29"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 15:09:26 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:39 2008 -0800"
      },
      "message": "SUNRPC: Clean up rpc_run_timer()\n\nAll RPC timeout callback functions are expected to wake the task up. We can\nenforce this by moving the wakeup back into rpc_run_timer.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "32bfb5c0f495dd88ef6bac4b76885d0820563739",
      "tree": "01adff1612a7aaad148a322b79bc02224e8ca735",
      "parents": [
        "383ba71938519959be8e0b598ec658f0c211ff45"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Feb 19 20:04:21 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:34 2008 -0800"
      },
      "message": "SUNRPC: Allow the rpc_release() callback to be run on another workqueue\n\nA lot of the work done by the rpc_release() callback is inappropriate for\nrpciod as it will often involve things like starting a new rpc call in\norder to clean up state after an interrupted NFSv4 open() call, or\ncalls to mntput(), etc.\n\nThis patch allows the caller of rpc_run_task() to specify that the\nrpc_release callback should run on a different workqueue than the default\nrpciod_workqueue.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "75659ca0c10992dcb39258518368a0f6f56e935d",
      "tree": "5d014ceb2f10158061a23d0d976f9a613d85e659",
      "parents": [
        "fbdde7bd274d74729954190f99afcb1e3d9bbfba",
        "2dfe485a2c8afa54cb069fcf48476f6c90ea3fdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "message": "Merge branch \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)\n  Remove commented-out code copied from NFS\n  NFS: Switch from intr mount option to TASK_KILLABLE\n  Add wait_for_completion_killable\n  Add wait_event_killable\n  Add schedule_timeout_killable\n  Use mutex_lock_killable in vfs_readdir\n  Add mutex_lock_killable\n  Use lock_page_killable\n  Add lock_page_killable\n  Add fatal_signal_pending\n  Add TASK_WAKEKILL\n  exit: Use task_is_*\n  signal: Use task_is_*\n  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL\n  ptrace: Use task_is_*\n  power: Use task_is_*\n  wait: Use TASK_NORMAL\n  proc/base.c: Use task_is_*\n  proc/array.c: Use TASK_REPORT\n  perfmon: Use task_is_*\n  ...\n\nFixed up conflicts in NFS/sunrpc manually..\n"
    },
    {
      "commit": "a4a874990cbc1bc5df6f357c4f2d043cd1923e15",
      "tree": "b7a0bcc477fc277f8062e08151acccfbf527c6f6",
      "parents": [
        "47fe064831a2a949f6c1e0086f61a105e99ea867"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 18 13:24:19 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:41 2008 -0500"
      },
      "message": "SUNRPC: Cleanup to remove the last users of the RPC_WAITQ declaration\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "47fe064831a2a949f6c1e0086f61a105e99ea867",
      "tree": "e5a7d80ef3e3ab936257253de9c25f3dad62a2f9",
      "parents": [
        "0773769191d943358a8392fa86abd756d004c4b6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:42:55 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:40 2008 -0500"
      },
      "message": "SUNRPC: Unexport rpc_init_task() and rpc_execute()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e8f5d77c8029ff8f5dcd1dfc133aac0bbbffd92b",
      "tree": "590563991cc37325ef6c346745f0163c329e3e2c",
      "parents": [
        "b5627943ab6fabbc13a45d92683363a3d08a249f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:42:53 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:38 2008 -0500"
      },
      "message": "SUNRPC: allow the caller of rpc_run_task to preallocate the struct rpc_task\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b3ef8b3bb93300e58a4c4806207de3de4eb76f48",
      "tree": "d02db9d538477b5a98abcb7945dbf81fa9b8e4ec",
      "parents": [
        "77de2c590ec72828156d85fa13a96db87301cc68"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:32:34 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:31 2008 -0500"
      },
      "message": "SUNRPC: Allow rpc_init_task() to initialise the rpc_task-\u003etk_msg\n\nIn preparation for the removal of rpc_call_setup().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3ff7576ddac06c3d07089e241b40826d24bbf1ac",
      "tree": "7f5998434b7d0dd1f08ff7ee65c93fab4861a6d3",
      "parents": [
        "c970aa85e71bd581726c42df843f6f129db275ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:40:00 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:30 2008 -0500"
      },
      "message": "SUNRPC: Clean up the initialisation of priority queue scheduling info.\n\nWe want the default scheduling priority (priority \u003d\u003d 0) to remain\nRPC_PRIORITY_NORMAL.\n\nAlso ensure that the priority wait queue scheduling is per process id\ninstead of sometimes being per thread, and sometimes being per inode.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "84115e1cd4a3614c4e566d4cce31381dce3dbef9",
      "tree": "01b2de7163deb6b3a789811183d8b8c1329b900c",
      "parents": [
        "e8914c65f7f8d4e8701b8e78a12b714872ea0402"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:59 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:30 2008 -0500"
      },
      "message": "SUNRPC: Cleanup of rpc_task initialisation\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e8914c65f7f8d4e8701b8e78a12b714872ea0402",
      "tree": "54e0834fce6e8b834ad400e010e76215e7eb76e4",
      "parents": [
        "a6eaf8bdf9308b51ec84e358915fc65400029519"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:59 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:28 2008 -0500"
      },
      "message": "SUNRPC: Restrict sunrpc client exports\n\nThe sunrpc client exports are not meant to be part of any official kernel\nAPI: they can change at the drop of a hat. Mark them as internal functions\nusing EXPORT_SYMBOL_GPL.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a6eaf8bdf9308b51ec84e358915fc65400029519",
      "tree": "f704135c09272357d9e9bf2d2a39636006518c3e",
      "parents": [
        "93a44a75b97b9d8a03dd3d3f3247c3d0ec46aa4c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:28 2008 -0500"
      },
      "message": "SUNRPC: Move exported declarations to the function declarations\n\nDo this for all RPC client related functions and XDR functions.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b24b8a247ff65c01b252025926fe564209fae4fc",
      "tree": "8a9e0ea1e24b4733d8b9433d41877659505e9da4",
      "parents": [
        "a92aa318b4b369091fd80433c80e62838db8bc1c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 23 21:20:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:35 2008 -0800"
      },
      "message": "[NET]: Convert init_timer into setup_timer\n\nMany-many code in the kernel initialized the timer-\u003efunction\nand  timer-\u003edata together with calling init_timer(timer). There\nis already a helper for this. Use it for networking code.\n\nThe patch is HUGE, but makes the code 130 lines shorter\n(98 insertions(+), 228 deletions(-)).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "150030b78a454ba50d5e267b0dcf01b162809192",
      "tree": "4de766e7abbfd73a052f14f8efd3a26eb7b59d87",
      "parents": [
        "009e577e079656d51d0fe9b15e61e41b00816c29"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 16:24:39 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:40:25 2007 -0500"
      },
      "message": "NFS: Switch from intr mount option to TASK_KILLABLE\n\nBy using the TASK_KILLABLE infrastructure, we can get rid of the \u0027intr\u0027\nmount option.  We have to use _killable everywhere instead of _interruptible\nas we get rid of rpc_clnt_sigmask/sigunmask.\n\nSigned-off-by: Liam R. Howlett \u003chowlett@gmail.com\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1244480976d357447aeddd3f44977586bfa0462b",
      "tree": "4933d4c352e9e1b9d72f01f4968dd116244b96f6",
      "parents": [
        "4f22ccc3460ef65e9899ec271d36fc4ef795c68d"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:45:36 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:36 2007 -0400"
      },
      "message": "SUNRPC: add EXPORT_SYMBOL_GPL for generic transport functions\n\nSUNRPC: add EXPORT_SYMBOL_GPL for generic transport functions\n\nAs a preface to allowing arbitrary transport modules to be loaded\ndynamically, add EXPORT_SYMBOL_GPL for all generic transport functions\nthat a transport implementation might want to use.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-by: Tom Talpey \u003ctmt@netapp.com\u003e\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b247bbf1da69ce376aa1ceb8057331214589e366",
      "tree": "95451eff3963389d5cb2b93bb74b71f89826bb68",
      "parents": [
        "4a2a4df7b6db25df8f3d5cc6dd0b096119359d92"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jul 19 16:32:20 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 07 15:13:16 2007 -0400"
      },
      "message": "SUNRPC: Fix a race in rpciod_down()\n\nThe commit 4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b lead to the unpleasant\npossibility of an asynchronous rpc_task being required to call\nrpciod_down() when it is complete. This again means that the rpciod\nworkqueue may get to call destroy_workqueue on itself -\u003e hang...\n\nChange rpciod_up/rpciod_down to just get/put the module, and then\ncreate/destroy the workqueues on module load/unload.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\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": "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": "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": "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": "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": "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": "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": "d9bc125caf592b7d081021f32ce5b717efdf70c8",
      "tree": "263b7066ba22ddce21db610c0300f6eaac6f2064",
      "parents": [
        "43d78ef2ba5bec26d0315859e8324bfc0be23766",
        "ec2f9d1331f658433411c58077871e1eef4ee1b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/\n\nConflicts:\n\n\tnet/sunrpc/auth_gss/gss_krb5_crypto.c\n\tnet/sunrpc/auth_gss/gss_spkm3_token.c\n\tnet/sunrpc/clnt.c\n\nMerge with mainline and fix conflicts.\n"
    },
    {
      "commit": "cca5172a7ec10dfdb0b787cd8e9d5b0b8f179793",
      "tree": "1b9e86cf95ab5e1e2b3180ebe59be2a05ebbe1bf",
      "parents": [
        "d808ad9ab8b1109239027c248c4652503b9d3029"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 15:38:13 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:20:13 2007 -0800"
      },
      "message": "[NET] SUNRPC: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46121cf7d85869bfe9588bac7ccf55aa0bc7f278",
      "tree": "51172f1b47dd8aa99e6f96c495fe7f8e2c0bbc34",
      "parents": [
        "8885cb367f86ce02bed3bf18192d74a53ac3b81f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jan 31 12:14:08 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 03 15:35:10 2007 -0800"
      },
      "message": "SUNRPC: fix print format for tk_pid\n\nThe tk_pid field is an unsigned short.  The proper print format specifier for\nthat type is %5u, not %4d.\n\nAlso clean up some miscellaneous print formatting nits.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2efef837fb84f78cee7439804cb3722bffc64e75",
      "tree": "b69166832927f2141c4173cac456747605ea6252",
      "parents": [
        "54cc533aaa0dc331ad126f0aacfb19572adee638"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 03 13:38:41 2007 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 03 15:35:03 2007 -0800"
      },
      "message": "RPC: Clean up rpc_execute...\n\nThe error values are already propagated through task-\u003etk_status, and\nnone of the callers check one without checking the other, so we can\ndrop the return value.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bde8f00ce64d9824a4f227c8594e335a1a10d044",
      "tree": "5402180d3aef332c54e7b608f5bb3f94675ffadf",
      "parents": [
        "5394cd218735bf462e72bb827fbb7e47fc15f2f0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 24 11:54:53 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 24 12:31:06 2007 -0800"
      },
      "message": "[PATCH] NFS: Fix Oops in rpc_call_sync()\n\nFix the Oops in http://bugzilla.linux-nfs.org/show_bug.cgi?id\u003d138\nWe shouldn\u0027t be calling rpc_release_task() for tasks that are not active.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21b4e736922f546e0f1aa7b9d6c442f309a2444a",
      "tree": "e1be8645297f8ebe87445251743ebcc52081a20d",
      "parents": [
        "34161db6b14d984fb9b06c735b7b42f8803f6851",
        "68380b581383c028830f79ec2670f4a193854aa6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 16:35:17 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 16:35:17 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/ into merge_linus\n"
    },
    {
      "commit": "34161db6b14d984fb9b06c735b7b42f8803f6851",
      "tree": "99656278b6697f1cde5b05894b7c0ee22c63a00e",
      "parents": [
        "5847e1f4d058677c5e46dc6c3e3c70e8855ea3ba",
        "620034c84d1d939717bdfbe02c51a3fee43541c3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 15:48:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 15:48:15 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/ into merge_linus\n\nConflicts:\n\n\tinclude/linux/sunrpc/xprt.h\n\tnet/sunrpc/xprtsock.c\nFix up conflicts with the workqueue changes.\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d5fcb5a52bfd00eab3ba2c7ca890823388436ae",
      "tree": "3408c72a54ac64d68e0e0a505ebe3757f8e42fac",
      "parents": [
        "bbd5a1f9fc9fad0f8725812d91c51b052e847de8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 18 16:01:06 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:30 2006 -0500"
      },
      "message": "SUNRPC: Remove BKL around the RPC socket operations etc.\n\nAll internal RPC client operations should no longer depend on the BKL,\nhowever lockd and NFS callbacks may still require it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bbd5a1f9fc9fad0f8725812d91c51b052e847de8",
      "tree": "252650d49dd498a67c404b7c4c1abeb2dc341624",
      "parents": [
        "3e32a5d99a467b9d4d416323c8c292479b4915e5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 18 16:01:05 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:29 2006 -0500"
      },
      "message": "SUNRPC: Fix up missing BKL in asynchronous RPC callback functions\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8aca67f0ae2d8811165c22326825a645cc8e1b48",
      "tree": "19e82f4bc7b4f865a9dcf4744e7c224ea517ba10",
      "parents": [
        "e6b3c4db6fbcd0d33720696f37790d6b8be12313"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 13 16:23:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:26 2006 -0500"
      },
      "message": "SUNRPC: Fix a potential race in rpc_wake_up_task()\n\nUse RCU to ensure that we can safely call rpc_finish_wakeup after we\u0027ve\ncalled __rpc_do_wake_up_task. If not, there is a theoretical race, in which\nthe rpc_task finishes executing, and gets freed first.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e6b3c4db6fbcd0d33720696f37790d6b8be12313",
      "tree": "24ad4a93b00ba7236b9a2d896fd6cb59a1dc2334",
      "parents": [
        "cc4dc59e5580d6c0de1685a25b74d32175f43434"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 11 22:18:03 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:25 2006 -0500"
      },
      "message": "Fix a second potential rpc_wakeup race...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cc4dc59e5580d6c0de1685a25b74d32175f43434",
      "tree": "61de2e40ba38b93027124d691308fc4405ef35d2",
      "parents": [
        "ec0bf39a471bf6fcd01def2bd677128cea940b73"
      ],
      "author": {
        "name": "Christophe Saout",
        "email": "christophe@saout.de",
        "time": "Sun Nov 05 18:42:48 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:24 2006 -0500"
      },
      "message": "Subject: Re: [PATCH] Fix SUNRPC wakeup/execute race condition\n\nThe sunrpc scheduler contains a race condition that can let an RPC\ntask end up being neither running nor on any wait queue. The race takes\nplace between rpc_make_runnable (called from rpc_wake_up_task) and\n__rpc_execute under the following condition:\n\nFirst __rpc_execute calls tk_action which puts the task on some wait\nqueue. The task is dequeued by another process before __rpc_execute\ncontinues its execution. While executing rpc_make_runnable exactly after\nsetting the task `running\u0027 bit and before clearing the `queued\u0027 bit\n__rpc_execute picks up execution, clears `running\u0027 and subsequently\nboth functions fall through, both under the false assumption somebody\nelse took the job.\n\nSwapping rpc_test_and_set_running with rpc_clear_queued in\nrpc_make_runnable fixes that hole. This introduces another possible\nrace condition that can be handled by checking for `queued\u0027 after\nsetting the `running\u0027 bit.\n\nBug noticed on a 4-way x86_64 system under XEN with an NFSv4 server\non the same physical machine, apparently one of the few ways to hit\nthis race condition at all.\n\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Christophe Saout \u003cchristophe@saout.de\u003e\nSigned-off-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\n"
    },
    {
      "commit": "65f27f38446e1976cc98fd3004b110fedcddd189",
      "tree": "68f8be93feae31dfa018c22db392a05546b63ee1",
      "parents": [
        "365970a1ea76d81cb1ad2f652acb605f06dae256"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "message": "WorkStruct: Pass the work_struct pointer instead of context data\n\nPass the work_struct pointer to the work function rather than context data.\nThe work function can use container_of() to work out the data.\n\nFor the cases where the container of the work_struct may go away the moment the\npending bit is cleared, it is made possible to defer the release of the\nstructure by deferring the clearing of the pending bit.\n\nTo make this work, an extra flag is introduced into the management side of the\nwork_struct.  This governs auto-release of the structure upon execution.\n\nOrdinarily, the work queue executor would release the work_struct for further\nscheduling or deallocation by clearing the pending bit prior to jumping to the\nwork function.  This means that, unless the driver makes some guarantee itself\nthat the work_struct won\u0027t go away, the work function may not access anything\nelse in the work_struct or its container lest they be deallocated..  This is a\nproblem if the auxiliary data is taken away (as done by the last patch).\n\nHowever, if the pending bit is *not* cleared before jumping to the work\nfunction, then the work function *may* access the work_struct and its container\nwith no problems.  But then the work function must itself release the\nwork_struct by calling work_release().\n\nIn most cases, automatic release is fine, so this is the default.  Special\ninitiators exist for the non-auto-release case (ending in _NAR).\n\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "1a1d92c10dd24bbdc28b3d6e2d03ec199dd3a65b",
      "tree": "fade83955f75e718e39153d6f81d221403338bed",
      "parents": [
        "f52720ca5f48574e347dff35ffe6b389ace61537"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 27 01:49:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] Really ignore kmem_cache_destroy return value\n\n* Rougly half of callers already do it by not checking return value\n* Code in drivers/acpi/osl.c does the following to be sure:\n\n\t(void)kmem_cache_destroy(cache);\n\n* Those who check it printk something, however, slab_error already printed\n  the name of failed cache.\n* XFS BUGs on failed kmem_cache_destroy which is not the decision\n  low-level filesystem driver should make. Converted to ignore.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8014793b1b2869445adfe678d64cdacd10e99d53",
      "tree": "861968eb71efbeae9918b1f407be99a5e6aaa9d3",
      "parents": [
        "297de4f65698ee1e1c75e27d57933b5fa8227e72"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 31 18:24:08 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:56 2006 -0400"
      },
      "message": "SUNRPC: rpc_delay() should not clobber the rpc_task-\u003etk_status\n\nDoing so prevents stuff like call_encode() from working correctly.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "39d7bbcb5ba5e9d8d658b70903dd7939400e57db",
      "tree": "591e25f18cc1779c88c1a9de9306b23ff50bd0e0",
      "parents": [
        "081f79a9b09b634f0dc08ed014e0195464d52535"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:18 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:47 2006 -0400"
      },
      "message": "SUNRPC: remove extraneous header inclusions\n\ninclude/linux/sunrpc/clnt.h already includes include/linux/sunrpc/xprt.h.\nWe can remove xprt.h from source files that already include clnt.h.\nLikewise include/linux/sunrpc/timer.h.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5b1eacbcd78930d976eb50a93f1779d311b553d1",
      "tree": "28e573a581f185a0f00e6dbd80435039e31d8c24",
      "parents": [
        "c4a5692fb83f23008c720fe84454d5603e80b103"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:16 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:40 2006 -0400"
      },
      "message": "SUNRPC: Support for RPC child tasks no longer needed\n\nThe previous patches removed the last user of RPC child tasks, so we can\nremove support for child tasks from net/sunrpc/sched.c now.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "93d2341c750cda0df48a6cc67b35fe25f1ec47df",
      "tree": "f098a3bbfae65ce967591ee94d605c6e6bea21c6",
      "parents": [
        "fec433aaaae32a02329ad7d71b0f3c91b7525077"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:00 2006 -0800"
      },
      "message": "[PATCH] mempool: use mempool_create_slab_pool()\n\nModify well over a dozen mempool users to call mempool_create_slab_pool()\nrather than calling mempool_create() with extra arguments, saving about 30\nlines of code and increasing readability.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ebbe2b20091d306453a5cf480a87e6cd28ae76f",
      "tree": "f5cd7a0fa69b8b1938cb5a0faed2e7b0628072a5",
      "parents": [
        "ac58c9059da8886b5e8cde012a80266b18ca146e",
        "674a396c6d2ba0341ebdd7c1c9950f32f018e2dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 23 23:44:19 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 23 23:44:19 2006 -0500"
      },
      "message": "Merge branch \u0027linus\u0027\n"
    },
    {
      "commit": "4a3e2f711a00a1feb72ae12fdc749da10179d185",
      "tree": "76ced9d3270dea4b864da71fa1d4415d2e3c8b11",
      "parents": [
        "d4ccd08cdfa8d34f4d25b62041343c52fc79385f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Mar 20 22:33:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:33:17 2006 -0800"
      },
      "message": "[NET] sem2mutex: net/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a1218a277c45cba1fb8d7089407a1769c645c43",
      "tree": "c59634979c53606696993ef06297045015791d6e",
      "parents": [
        "43ac3f2961b8616da26114ec6dc76ac2a61f76ad"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 18:11:10 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 18:11:10 2006 -0500"
      },
      "message": "SUNRPC: Ensure rpc_call_async() always calls tk_ops-\u003erpc_release()\n\nCurrently this will not happen if we exit before rpc_new_task() was called.\nAlso fix up rpc_run_task() to do the same (for consistency).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ef759a2e54ed434b2f72b52a14edecd6d4eadf74",
      "tree": "aa495ef4691387839146683dfae0f0084fbe6137",
      "parents": [
        "262ca07de4d7f1bff20361c1353bb14b3607afb2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "message": "SUNRPC: introduce per-task RPC iostats\n\nAccount for various things that occur while an RPC task is executed.\nSeparate timers for RPC round trip and RPC execution time show how\nlong RPC requests wait in queue before being sent.  Eventually these\nwill be accumulated at xprt_release time in one place where they can\nbe viewed from userland.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e19b63dafdf7d615b0d36b90990a07e7792b9d3a",
      "tree": "45474992fd5d6a1f4c4c49068ec6383429618515",
      "parents": [
        "67ec9f46b889bfb1ab0a4e307d53929d5f0692bf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:15 2006 -0500"
      },
      "message": "SUNRPC: track length of RPC wait queues\n\nRPC wait queue length will eventually be exported to userland via the RPC\niostats interface.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24c5d9d7ea5a64fb5f157d17aa2c67a3300f8a08",
      "tree": "8bb08d685a2f4a64a235561498f9113182b411dc",
      "parents": [
        "f344f6df4b2baa3e5c553c461735dfaf92f44be7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "message": "SUNRPC: Run rpci-\u003equeue_timeout on the rpciod workqueue instead of generic\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e6d83d55698b73b4d5d55d3d7715a4c26030d577",
      "tree": "b2c0e3a799444d9c25c00cf34975b456e0c9ef9d",
      "parents": [
        "c12e87f4652b1ba3be168b4f63a440399b941928"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 13 21:20:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 14 07:57:18 2006 -0800"
      },
      "message": "[PATCH] SUNRPC: Fix potential deadlock in RPC code\n\nIn rpc_wake_up() and rpc_wake_up_status(), it is possible for the call to\n__rpc_wake_up_task() to fail if another thread happens to be calling\nrpc_wake_up_task() on the same rpc_task.\n\nProblem noticed by Bruno Faccini.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99acf0442111cc452ac1b93868dde8f6ff37a989",
      "tree": "b62ce608a696c84692bae325b6819e4d97e36045",
      "parents": [
        "9598f91f2216ba51fef472a7fc3074a0c8429a96"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Wed Feb 01 03:06:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:27 2006 -0800"
      },
      "message": "[PATCH] DocBook: fix some kernel-doc comments in net/sunrpc\n\nFix the syntax of some kernel-doc comments\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "02107148349f31eee7c0fb06fd7a880df73dbd20",
      "tree": "37bffd81e08b8e50394ce89a1aa7a3961f0ffbe7",
      "parents": [
        "03c21733938aad0758f5f88e1cc7ede69fc3c910"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:49 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:55 2006 -0500"
      },
      "message": "SUNRPC: switchable buffer allocation\n\n Add RPC client transport switch support for replacing buffer management\n on a per-transport basis.\n\n In the current IPv4 socket transport implementation, RPC buffers are\n allocated as needed for each RPC message that is sent.  Some transport\n implementations may choose to use pre-allocated buffers for encoding,\n sending, receiving, and unmarshalling RPC messages, however.  For\n transports capable of direct data placement, the buffers can be carved\n out of a pre-registered area of memory rather than from a slab cache.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization with \"sio\" and\n \"iozone\".  Use oprofile and other tools to look for significant regression\n in CPU utilization.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e60859ac0e50f660d23b72e42e05f58757dcfeff",
      "tree": "a48b07cea18971545bd6670f66f8b8341d393cbc",
      "parents": [
        "89991c24e48b76f40aa3bd8c40c1e87c75d10a33"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:10 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:42 2006 -0500"
      },
      "message": "SUNRPC: rpc_execute should not return task-\u003etk_status;\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44c288732fdbd7e38460d156a40d29590bf93bce",
      "tree": "d4239fe37529b4799e85443f803db754ef66f874",
      "parents": [
        "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:06 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "NFSv4: stateful NFSv4 RPC call interface\n\n The NFSv4 model requires us to complete all RPC calls that might\n establish state on the server whether or not the user wants to\n interrupt it. We may also need to schedule new work (including\n new RPC calls) in order to cancel the new state.\n\n The asynchronous RPC model will allow us to ensure that RPC calls\n always complete, but in order to allow for \"synchronous\" RPC, we\n want to add the ability to wait for completion.\n The waits are, of course, interruptible.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f",
      "tree": "9bc9ffc691679a4423a6b8724a27607c9ad7ea2c",
      "parents": [
        "963d8fe53339128ee46a7701f2e36305f0ccff8c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:05 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "SUNRPC: Further cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "963d8fe53339128ee46a7701f2e36305f0ccff8c",
      "tree": "426736c70a8e05cb1d945d5c7f44ea6475edd113",
      "parents": [
        "abbcf28f23d53e8ec56a91f3528743913fa2694a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:04 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "RPC: Clean up RPC task structure\n\n Shrink the RPC task structure. Instead of storing separate pointers\n for task-\u003etk_exit and task-\u003etk_release, put them in a structure.\n\n Also pass the user data pointer as a parameter instead of passing it via\n task-\u003etk_calldata. This enables us to nest callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "abbcf28f23d53e8ec56a91f3528743913fa2694a",
      "tree": "97dafc3840e4660ac0fcf99bbdc7eddc2fecd08a",
      "parents": [
        "abd3e641d5ef9f836ab2f2b04d80b8619b051531"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:03 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "SUNRPC: Yet more RPC cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd13a285b79ba77416b96ee10f49097f4aaf48c5",
      "tree": "f89e687d379eda39b18bf6e829736c405b05a747",
      "parents": [
        "00fa02334540ec795934737cd6e6ef8db2560731"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Oct 04 22:44:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 04 22:44:45 2005 -0700"
      },
      "message": "[RPC]: fix sparse gfp nocast warnings\n\nFix nocast sparse warnings:\nnet/rxrpc/call.c:2013:25: warning: implicit cast to nocast type\nnet/rxrpc/connection.c:538:46: warning: implicit cast to nocast type\nnet/sunrpc/sched.c:730:36: warning: implicit cast to nocast type\nnet/sunrpc/sched.c:734:56: warning: implicit cast to nocast type\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba89966c1984513f4f2cc0a6c182266be44ddd03",
      "tree": "6e5766fc5c287708c03e0a162531dfd4785b0703",
      "parents": [
        "29cb9f9c5502f6218cd3ea574efe46a5e55522d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Aug 26 12:05:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:11:18 2005 -0700"
      },
      "message": "[NET]: use __read_mostly on kmem_cache_t , DEFINE_SNMP_STAT pointers\n\nThis patch puts mostly read only data in the right section\n(read_mostly), to help sharing of these data between CPUS without\nmemory ping pongs.\n\nOn one of my production machine, tcp_statistics was sitting in a\nheavily modified cache line, so *every* SNMP update had to force a\nreload.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96651ab341cde0fee940ec837f323d711cbfa7d5",
      "tree": "83882bc6a68bb9862ec0fddc33a8309512ccc010",
      "parents": [
        "a656db998785324a818005bcf71bae6dcbbb3cf5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:21 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:07 2005 -0400"
      },
      "message": "[PATCH] RPC: Shrink struct rpc_task by switching to wait_on_bit()\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d05fdb0cec75415b2d9eb95748386e67414e49c3",
      "tree": "2d324e17a705547c7dbc0c20f8b20293d85abd2e",
      "parents": [
        "4e93d3e8859c834ee18dfd33051d24df8669d0c0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:19 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:01 2005 -0400"
      },
      "message": "[PATCH] RPC: Fix a race with rpc_restart_call()\n\n If the task-\u003etk_exit() wants to restart the RPC call after delaying\n then the current RPC code will clobber the timer by calling\n rpc_delete_timer() immediately after re-entering the loop in\n __rpc_execute().\n\n Problem noticed by Oleg Nesterov \u003coleg@tv-sign.ru\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
