)]}'
{
  "log": [
    {
      "commit": "23c20ecd44750dd42e5fd53285a17ca8d8a9b0a3",
      "tree": "36940b99df871bd80fbb0d99fbaf9c3ef037abd8",
      "parents": [
        "8e2461444319b8f3fe47b94ea9b5d2e1dd8adadb"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Aug 20 18:00:31 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:25:38 2012 -0700"
      },
      "message": "NFS: callback up - users counting cleanup\n\nUsage coutner now increased only is the service was started sccessfully.\nEven if service is running already, then goto is not required anymore, because\nservice creation and start will be skipped.\nWith this patch code looks clearer.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8e2461444319b8f3fe47b94ea9b5d2e1dd8adadb",
      "tree": "6f0bf79be0c107aa419398af2fb4f0ff6bdddbe0",
      "parents": [
        "691c457ae635a063e0e4c8551ba4566eab9a17e3"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Aug 20 18:00:26 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:25:35 2012 -0700"
      },
      "message": "NFS: callback service start function introduced\n\nThis is just a code move, which from my POW makes code looks better.\nI.e. now on start we have 3 different stages:\n1) Service creation.\n2) Service per-net data allocation.\n3) Service start.\n\nPatch also renames goto label \"out_err:\" into \"err_start:\" to reflect new\nchanges.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "691c457ae635a063e0e4c8551ba4566eab9a17e3",
      "tree": "deb020038dbf6f9c0bb5c76c7ba46053a0266192",
      "parents": [
        "c946556b8749beb357e2d2860e7dac757972dd3d"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Aug 20 18:00:21 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:25:29 2012 -0700"
      },
      "message": "NFS: callback up - transport backchannel cleanup\n\nNo need to assign transports backchannel server explicitly in\nnfs41_callback_up() -  there is nfs_callback_bc_serv() function for this.\nBy using it, nfs4_callback_up() and nfs41_callback_up() can be called without\ntransport argument.\n\nNote: service have to be passed to nfs_callback_bc_serv() instead of callback,\nsince callback link can be uninitialized.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c946556b8749beb357e2d2860e7dac757972dd3d",
      "tree": "63a7a403984febfcaab31a13726b68be1f627486",
      "parents": [
        "dd018428dce087b72d9e6a0b32e93cb8088b3aaa"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Aug 20 18:00:16 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:25:24 2012 -0700"
      },
      "message": "NFS: move per-net callback thread initialization to nfs_callback_up_net()\n\nv4:\n1) Callback transport creation routine selection by version simlified.\n\nThis new function in now called before nfs_minorversion_callback_svc_setup()).\n\nAlso few small changes:\n1) current network namespace in nfs_callback_up() was replaced by transport net.\n2) svc_shutdown_net() was moved prior to callback usage counter decrement\n(because in case of per-net data allocation faulure svc_shutdown_net() have to\nbe skipped).\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd018428dce087b72d9e6a0b32e93cb8088b3aaa",
      "tree": "ffb555c77f9553fe01267ff26b452085c9a11999",
      "parents": [
        "c8ceb4124b53a439edfe3fe89a646be1e067ef17"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Aug 20 18:00:11 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:25:11 2012 -0700"
      },
      "message": "NFS: callback service creation function introduced\n\nThis function creates service if it\u0027s not exist, or increase usage counter of\nthe existent, and returns pointer to it.\nUsage counter will be droppepd by svc_destroy() later in nfs_callback_up().\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8ceb4124b53a439edfe3fe89a646be1e067ef17",
      "tree": "2944c8451992b92f32672bdfeb00683580999b7b",
      "parents": [
        "6168f62cbde8dcf4f58255794efbcdb8df603959"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Aug 20 18:00:06 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:24:51 2012 -0700"
      },
      "message": "NFS: pass net to nfs_callback_down()\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6168f62cbde8dcf4f58255794efbcdb8df603959",
      "tree": "897bac0b7539172aa171365337d964f7984b1a80",
      "parents": [
        "57a51048da742c764b6ce5d028c7f334ae04d363"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Mon Sep 10 14:00:46 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:20:11 2012 -0700"
      },
      "message": "NFSv4: Add ACCESS operation to OPEN compound\n\nThe OPEN operation has no way to differentiate an open for read and an\nopen for execution - both look like read to the server. This allowed\nusers to read files that didn\u0027t have READ access but did have EXEC access,\nwhich is obviously wrong.\n\nThis patch adds an ACCESS call to the OPEN compound to handle the\ndifference between OPENs for reading and execution.  Since we\u0027re going\nthrough the trouble of calling ACCESS, we check all possible access bits\nand cache the results hopefully avoiding an ACCESS call in the future.\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "57a51048da742c764b6ce5d028c7f334ae04d363",
      "tree": "21a35aa29c1d04b25b7e00bc375e1cc198a01fe8",
      "parents": [
        "6938867edba929a65a167a97581231e76aeb10b4"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Aug 09 14:05:51 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:18:44 2012 -0700"
      },
      "message": "NFS: Use kzalloc() instead of kmalloc() in the idmapper\n\nThis will allocate memory that has already been zeroed, allowing us to\nremove the memset later on.\n\nSigned-off-by: Bryan Schumaker \u003cbjchuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6938867edba929a65a167a97581231e76aeb10b4",
      "tree": "9f1fcee1c9dc22515d335c69db0f01e5eb9f4bb1",
      "parents": [
        "fcb6d9c6b719b633e9b98d26d8a7937209e8bf21"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Sep 26 15:25:52 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:17:25 2012 -0700"
      },
      "message": "NFS: Remove bad delegations during open recovery\n\nI put the client into an open recovery loop by:\n\tClient: Open file\n\t\tread half\n\tServer: Expire client (echo 0 \u003e /sys/kernel/debug/nfsd/forget_clients)\n\tClient: Drop vm cache (echo 3 \u003e /proc/sys/vm/drop_caches)\n\t\tfinish reading file\n\nThis causes a loop because the client never updates the nfs4_state after\ndiscovering that the delegation is invalid.  This means it will keep\ntrying to read using the bad delegation rather than attempting to re-open\nthe file.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nCC: stable@vger.kernel.org [3.4+]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fcb6d9c6b719b633e9b98d26d8a7937209e8bf21",
      "tree": "09a1aee073057d0f06ab94dc59c8b7b8963f1e4d",
      "parents": [
        "9b96ce71974127af0304514d310abe596426c112"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Sep 26 15:25:53 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:17:17 2012 -0700"
      },
      "message": "NFS: Always use the open stateid when checking for expired opens\n\nIf we are reading through a delegation, and the delegation is OK then\nstate-\u003estateid will still point to a delegation stateid and not an open\nstateid.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9b96ce71974127af0304514d310abe596426c112",
      "tree": "fd43e1006feaa0a4c061e073057c1f276f5ff935",
      "parents": [
        "849b286fd026a6924cc6a4315e446ed88ab983d2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 20:24:16 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 20:24:16 2012 -0400"
      },
      "message": "SUNRPC: Limit the rpciod workqueue concurrency\n\nWe shouldn\u0027t need more than 1 worker thread per cpu, since rpciod\nis designed to run without sleeping in most cases.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "849b286fd026a6924cc6a4315e446ed88ab983d2",
      "tree": "a8d07243fb453ece5b04078cc6715ec9e78971f3",
      "parents": [
        "65857d5768f7716da539933c2075d384b117812d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Sep 24 14:18:39 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:18 2012 -0400"
      },
      "message": "NFSv4.1: nfs4_proc_layoutreturn must always drop the plh_block_lgets count\n\nCurrently it does not do so if the RPC call failed to start. Fix is to\nmove the decrement of plh_block_lgets into nfs4_layoutreturn_release.\n\nAlso remove a redundant test of task-\u003etk_status in nfs4_layoutreturn_done:\nif lrp-\u003eres.lrs_present is set, then obviously the RPC call succeeded.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "65857d5768f7716da539933c2075d384b117812d",
      "tree": "fd35ec5174e52388c870c4b23bd8a3c4153ad232",
      "parents": [
        "e5929f3cff05e84f20c68df235f4768920e2e89e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Sep 24 13:49:27 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:18 2012 -0400"
      },
      "message": "NFSv4.1: _pnfs_return_layout() shouldn\u0027t invalidate the layout on failure\n\nFailure of the layoutreturn allocation fails is not a good reason to\nmark the pnfs_layout_hdr as having failed a layoutget or i/o. Just\nexit cleanly.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e5929f3cff05e84f20c68df235f4768920e2e89e",
      "tree": "849a2fec772d7c8d9a54288659f9d4ba9c8a915f",
      "parents": [
        "173f77e9c5cbddb02eebe17dd9c48d39e5eb86b9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 21 16:37:02 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:17 2012 -0400"
      },
      "message": "NFSv4.1: Remove the NFS_LAYOUT_RETURNED state\n\nIt serves no purpose that the test for whether or not we have valid\nlayout segments doesn\u0027t already serve.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "173f77e9c5cbddb02eebe17dd9c48d39e5eb86b9",
      "tree": "648a0e78eb1316f5ebe3cee659a4aac0b8ffa48c",
      "parents": [
        "8006bfba36d42b6976ed92979f51e5f9bef2625c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 21 15:49:42 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:17 2012 -0400"
      },
      "message": "NFSv4.1: Clear NFS_LAYOUT_BULK_RECALL when the layout segments are freed\n\nOnce all the affected layout segments have been freed up, clear the\nNFS_LAYOUT_BULK_RECALL flag so that we can reuse the pnfs_layout_hdr\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8006bfba36d42b6976ed92979f51e5f9bef2625c",
      "tree": "83b5c3761408b6cbfef4112431ef466b5392f909",
      "parents": [
        "579342785f7069d32e9637ef30d59c4256dcec3d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 21 14:48:04 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:16 2012 -0400"
      },
      "message": "NFSv4.1: Get rid of the NFS_LAYOUT_DESTROYED state\n\nWe already have a mechanism for blocking LAYOUTGET by means of the\nplh_block_lgets counter. The only \"service\" that NFS_LAYOUT_DESTROYED\nprovides at this point is to block layoutget once the layout segment\nlist is empty, which basically means that you have to wait until\nthe pnfs_layout_hdr is destroyed before you can do pNFS on that file\nagain.\n\nThis patch enables the reuse of the pnfs_layout_hdr if the layout\nsegment list is empty.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "579342785f7069d32e9637ef30d59c4256dcec3d",
      "tree": "343497ec99e6aa8f1ba2e08f02f0ca0b185f2768",
      "parents": [
        "a9136d4914f61110ca9897ec65ab620075c50298"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 20:37:23 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:16 2012 -0400"
      },
      "message": "NFSv4.1: Remove unused \u0027default allocation\u0027 for pnfs_alloc_layout_hdr()\n\n...and ditto for pnfs_free_layout_hdr()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a9136d4914f61110ca9897ec65ab620075c50298",
      "tree": "e631e5eac17a7375fe4f5452e371892e4f4833d4",
      "parents": [
        "8f0d27dc5d77b084b2e2fe6d883c4d5776287842"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 20:01:56 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:16 2012 -0400"
      },
      "message": "NFSv4.1: Get rid of pNFS spin lock debugging asserts...\n\nThese are all in static declared functions that are called only once.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8f0d27dc5d77b084b2e2fe6d883c4d5776287842",
      "tree": "b3dcc9cb6076fca8204288535cf1789b108a71fc",
      "parents": [
        "905ca191cfe1ab18822d86e3ddef1b1b38832fdc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 20:57:11 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:15 2012 -0400"
      },
      "message": "NFSv4.1: Balance pnfs_layout_hdr refcount in pnfs_layout_(insert|remove)_lseg\n\nEnsure that the reference count for pnfs_layout_hdr reverts to the\noriginal value after a call to pnfs_layout_remove_lseg().\n\nNote that the caller is expected to hold a reference to the struct\npnfs_layout_hdr.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "905ca191cfe1ab18822d86e3ddef1b1b38832fdc",
      "tree": "b8e6a5056878adf3f0f3423f3f8c859467e16112",
      "parents": [
        "9c6263819f25254f2ed48f076b50096dd5893dfb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 20:46:49 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:15 2012 -0400"
      },
      "message": "NFSv4.1: Clean up pnfs_put_lseg()\n\nThere is no longer a need to use pnfs_free_lseg_list(). Just call\npnfs_free_lseg() directly.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9c6263819f25254f2ed48f076b50096dd5893dfb",
      "tree": "d95527cbeba0d44973f286602a35ff2c21c811bd",
      "parents": [
        "6622c3ea059b2fed49924b74db41d1e0f065fbd3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 17:31:43 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:14 2012 -0400"
      },
      "message": "NFSv4.1: Clean up the removal of pnfs_layout_hdr from the server list\n\nMove the code into pnfs_free_layout_hdr(), and add checks to\nget_layout_by_fh_locked to ensure that they don\u0027t reference a layout\nthat is being freed.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6622c3ea059b2fed49924b74db41d1e0f065fbd3",
      "tree": "d8b362ec56159a57f7402e8d4f70d704f06a612b",
      "parents": [
        "01d39ce82b565961abaf1930f54ccf7b32c96b15"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 17:23:11 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:14 2012 -0400"
      },
      "message": "NFSv4.1: Free the pnfs_layout_hdr outside the inode-\u003ei_lock\n\nNone of the existing pNFS layout drivers seem to require the inode\nto be locked while they free the layout header.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "01d39ce82b565961abaf1930f54ccf7b32c96b15",
      "tree": "452fcdbcfe1673c5c0d0b2e0a137bc56775a172c",
      "parents": [
        "57036a377600ec0900b13f29814aa19072ad3e52"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 17:02:32 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:13 2012 -0400"
      },
      "message": "NFSv4.1: Remove redundant reference to the pnfs_layout_hdr\n\nEach layout segment already holds a reference to the pnfs_layout_hdr,\nso there is no need to hold an extra reference that is released once\nthe last layout segment is freed.\n\nEnsure that pnfs_find_alloc_layout() always returns a reference\nto the pnfs_layout_hdr, which will be matched by the final call to\npnfs_put_layout_hdr() in pnfs_update_layout().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "57036a377600ec0900b13f29814aa19072ad3e52",
      "tree": "d9509d3e0611e47247354056af549ffa3bcb4364",
      "parents": [
        "bb346f63976823c2959b0c5917928f12cbf96e4a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 16:33:30 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:13 2012 -0400"
      },
      "message": "NFSv4.1: Rename the pnfs_put_lseg_common to pnfs_layout_remove_lseg\n\nThe latter name is more descriptive of the actual function.\nAlso rename pnfs_insert_layout to pnfs_layout_insert_lseg.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bb346f63976823c2959b0c5917928f12cbf96e4a",
      "tree": "ff9fdcdc22165d111469e2ebeb395a1d5c47d4a5",
      "parents": [
        "965938b83b19aeffdc1d16ce9947c8c127e8f59b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 15:52:13 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:12 2012 -0400"
      },
      "message": "NFSv4.1: reset the inode MDS threshold counters on layout destruction\n\nInstead of resetting the inode MDS threshold counters when we mark\nthe layout for destruction, do it as part of freeing the layout.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "965938b83b19aeffdc1d16ce9947c8c127e8f59b",
      "tree": "40288cb09fb91d508cc7e43ce565aa9b3a2a6137",
      "parents": [
        "1f7977c1368afc483908281daaffd31bca5a8d1e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 15:07:45 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:12 2012 -0400"
      },
      "message": "NFSv4.1: Get rid of pNFS layout state \"NFS_LAYOUT_INVALID\"\n\nIn all cases where we set NFS_LAYOUT_INVALID, we also set NFS_LAYOUT_DESTROYED.\nFurthermore, in all cases where we test for NFS_LAYOUT_INVALID, we should\nalso be testing for NFS_LAYOUT_DESTROYED, since the latter means that\nwe hold no valid layout segments.\nErgo the two are redundant.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f7977c1368afc483908281daaffd31bca5a8d1e",
      "tree": "ab8bcc2e66719825ee91a5559250fc21882cf397",
      "parents": [
        "7fdab069b7172f2348cf3d87e19c6c24340292bf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 20:31:51 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:12 2012 -0400"
      },
      "message": "NFSv4.1: Simplify the pNFS return-on-close code\n\nConfine it to the nfs4_do_close() code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7fdab069b7172f2348cf3d87e19c6c24340292bf",
      "tree": "487de5c39bb8be13be52091acc83139435943000",
      "parents": [
        "115ce575cb10918514d053ef15f597a4e6ff60e9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 20:15:57 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:11 2012 -0400"
      },
      "message": "NFSv4.1: Fix a race in the pNFS return-on-close code\n\nIf we sleep after dropping the inode-\u003ei_lock, then we are no longer\natomic with respect to the rpc_wake_up() call in pnfs_layout_remove_lseg().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "115ce575cb10918514d053ef15f597a4e6ff60e9",
      "tree": "8eef5b764740c41aaa41a628f24d0bced750b6e3",
      "parents": [
        "3e6212149304eaf9289d5bc56e003068660f3476"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 21:19:43 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:11 2012 -0400"
      },
      "message": "NFSv4.1: pnfs_layout_io_set_failed must clear invalid lsegs\n\nIf pnfs_layout_io_test_failed() authorises a retry of the failed layoutgets,\nwe should clear the existing layout segments so that we start afresh. Do\nthis in pnfs_layout_io_set_failed().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3e6212149304eaf9289d5bc56e003068660f3476",
      "tree": "e1b9f72afd21b68e3a8c76a6b341183fe2001a5a",
      "parents": [
        "830ffb565760234eb984e4343ad82575e96728de"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Sep 24 13:07:16 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:10 2012 -0400"
      },
      "message": "NFSv4.1: Don\u0027t drop the pnfs_layout_hdr after a layoutget failure\n\nWe want to cache the pnfs_layout_hdr after a layoutget or i/o\nfailure so that pnfs_update_layout() can find it and know when\nit is time to retry.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "830ffb565760234eb984e4343ad82575e96728de",
      "tree": "b4d1be236d51d30624bc9b2bb5cacb75a640d7fd",
      "parents": [
        "1dfed2737d8cfe2f2378fddfb3bed126ff5474e7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 20 21:25:19 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:10 2012 -0400"
      },
      "message": "NFSv4.1: Fix a reference leak in pnfs_update_layout\n\nIf we exit after the call to pnfs_find_alloc_layout(), we have to ensure\nthat we put the struct pnfs_layout_hdr.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1dfed2737d8cfe2f2378fddfb3bed126ff5474e7",
      "tree": "865edd1618f525a66a30eac1e017a896b4f2bb8c",
      "parents": [
        "25c7533357a4c4a9311d40cc92e9648c8a7e763e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 18 19:51:12 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:09 2012 -0400"
      },
      "message": "NFSv4.1: pNFS data servers may be temporarily offline\n\nIn cases where the pNFS data server is just temporarily out of service,\nwe want to mark it as such, and then try again later. Typically that will\nbe in cases of network connection errors etc.\nThis patch allows us to mark the devices as being \"unavailable\" for such\ntransient errors, and will make them available for retries after a\n2 minute timeout period.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "25c7533357a4c4a9311d40cc92e9648c8a7e763e",
      "tree": "e38cc8e24d50ba9390dc669b448e8bb644def788",
      "parents": [
        "b9e028fd89d6834558aa2a5bb30e5cff5c6c1059"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 18 17:01:12 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:09 2012 -0400"
      },
      "message": "NFSv4.1: Retry pNFS after a 2 minute timeout\n\nIf we had to fall back to read/write through MDS, then assume that we should\nretry pNFS after a suitable timeout period.\nThe following patch sets a timeout of 2 minutes.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b9e028fd89d6834558aa2a5bb30e5cff5c6c1059",
      "tree": "7333094e4b4e388c36bfb7f69683f46ae714051b",
      "parents": [
        "f86bbcf85db32596a0484477d1b8042005709049"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 18 16:41:18 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:09 2012 -0400"
      },
      "message": "NFSv4.1: Add helpers for setting/reading the I/O fail bit\n\n...and make them local to the pnfs.c file.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f86bbcf85db32596a0484477d1b8042005709049",
      "tree": "38c8e879c737cc4a333fc44ca37430e07706b941",
      "parents": [
        "78e4e05c643768af170e5a4b21712d9a7a26cce5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 26 11:21:40 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:08 2012 -0400"
      },
      "message": "NFSv4.1: Replace dprintk() in pnfs_update_layout with something less buggy\n\nDereferencing nfsi-\u003elayout in order to read plh_flags without holding\na spin lock is bug prone. Furthermore, the dprintk() tells you nothing\nabout whether or not the call succeeded.\nReplace it with something that tells you about whether or not a valid\nlayout segment was returned for the inode in question.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "78e4e05c643768af170e5a4b21712d9a7a26cce5",
      "tree": "877b3f47c16a9e027fe5453418c9d54f339a3aa5",
      "parents": [
        "9369a431bce1e985597eda32992960c969b27c5b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 18 21:02:29 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:08 2012 -0400"
      },
      "message": "NFSv4.1: Replace get_device_info() with filelayout_get_device_info()\n\nFix the namespace pollution issue.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9369a431bce1e985597eda32992960c969b27c5b",
      "tree": "09e566777480749f44c54c642f5d31d8b91e9d44",
      "parents": [
        "70c3bd2bdf9a3c7c9282c362a4ec9ec88c713e13"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 18 20:57:08 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:07 2012 -0400"
      },
      "message": "NFSv4.1: Cleanup; add \"pnfs_\" prefix to put_lseg() and get_lseg()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "70c3bd2bdf9a3c7c9282c362a4ec9ec88c713e13",
      "tree": "cd1bbe74ec866d820b344b3d6d4c4c25e4c2e960",
      "parents": [
        "49a85061b0bc9cb26361096482c81172c666c937"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 18 20:51:13 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:07 2012 -0400"
      },
      "message": "NFSv4.1: Cleanup; add \"pnfs_\" prefix to get_layout_hdr() and put_layout_hdr()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "49a85061b0bc9cb26361096482c81172c666c937",
      "tree": "ec64b83a0fdde6ede6d93e3bed776428206d4fb6",
      "parents": [
        "a0b0a6e39bd1bb4a0922086feee73627cbd53ba4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 18 20:43:31 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:06 2012 -0400"
      },
      "message": "NFSv4.1: Cleanup add a \"pnfs_\" prefix to mark_matching_lsegs_invalid\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a0b0a6e39bd1bb4a0922086feee73627cbd53ba4",
      "tree": "51921888aee9b74c3d6ad62b3546c858434f8925",
      "parents": [
        "d19751e7b9bd8a01d00372325439589886674f79"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Sep 17 17:12:15 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:06 2012 -0400"
      },
      "message": "NFS: Clean up the pNFS layoutget interface\n\nEnsure that we do return errors from nfs4_proc_layoutget() and that we\ndon\u0027t mark the layout as having failed if the error was due to a\nsignal or resource problem on the client side.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d19751e7b9bd8a01d00372325439589886674f79",
      "tree": "71ea849e8dc6021a455f2de1a76601e8db2255c7",
      "parents": [
        "dcfc4f25461813e8a2dd43b052aa1e0be155742f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 11 17:21:25 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:05 2012 -0400"
      },
      "message": "SUNRPC: Get rid of the redundant xprt-\u003eshutdown bit field\n\nIt is only set after everyone has dereferenced the transport,\nand serves no useful purpose: setting it is racy, so all the\nsocket code, etc still needs to be able to cope with the cases\nwhere they miss reading it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dcfc4f25461813e8a2dd43b052aa1e0be155742f",
      "tree": "82edc73de99f2ce16fa9072964337699158abd34",
      "parents": [
        "05990d1bf2708b9e84d67074551f964d3738eedc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 11 16:19:38 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:05 2012 -0400"
      },
      "message": "NFS: Write the entire file if a server reboot occurs during fsync()\n\nThis is to ensure that we don\u0027t clear the NFS_CONTEXT_RESEND_WRITES\nflag while there are still writes that haven\u0027t been resent.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "05990d1bf2708b9e84d67074551f964d3738eedc",
      "tree": "b4133627b503563eadea21aab695df78080402e1",
      "parents": [
        "795a88c968eef031f370973512b42124bacb2f17"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 11 16:01:22 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:05 2012 -0400"
      },
      "message": "NFS: Fix fdatasync/fsync() when confronted with a server reboot\n\nIf the server reboots before it can commit the unstable writes to disk,\nthen nfs_commit_release_pages() will detect this when it compares the\nverifier returned by COMMIT to the one returned by WRITE. When this\nhappens, the client needs to resend those writes in order to guarantee\nthat they make it to stable storage.\n\nThis patch adds a signalling mechanism to notify fsync() that it\nneeds to retry all writes before it can exit.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "795a88c968eef031f370973512b42124bacb2f17",
      "tree": "4a75a204bea7b2ada2155038d7f8aa19d444fc2d",
      "parents": [
        "2a369153c82e0c83621b3e71d8f0c53394705bda"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Sep 10 13:26:49 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:04 2012 -0400"
      },
      "message": "NFSv4: Convert the nfs4_lock_state-\u003els_flags to a bit field\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2a369153c82e0c83621b3e71d8f0c53394705bda",
      "tree": "bed0f7bfde6d8eac2b58bf0f7c452afb5f906b40",
      "parents": [
        "b3c54de6f82d01637796bcc1f667a45f3b32e814"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 13 18:54:45 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:04 2012 -0400"
      },
      "message": "NFS: Clean up helper function nfs4_select_rw_stateid()\n\nWe want to be able to pass on the information that the page was not\ndirtied under a lock. Instead of adding a flag parameter, do this\nby passing a pointer to a \u0027struct nfs_lock_owner\u0027 that may be NULL.\n\nAlso reuse this structure in struct nfs_lock_context to carry the\nfl_owner_t and pid_t.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b3c54de6f82d01637796bcc1f667a45f3b32e814",
      "tree": "9b0e87f60b2815ca20ef47eceed6da0f16b799ef",
      "parents": [
        "a11a2bf4de5679fa0b63474c7d39bea2dac7d061"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 13 17:15:50 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:03 2012 -0400"
      },
      "message": "NFS: Convert nfs_get_lock_context to return an ERR_PTR on failure\n\nWe want to be able to distinguish between allocation failures, and\nthe case where the lock context is not needed (because there are no\nlocks).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a11a2bf4de5679fa0b63474c7d39bea2dac7d061",
      "tree": "d59f027797b629d029596f968ccf65dc7916509f",
      "parents": [
        "13fe4ba1b64c099843c75b4f0633ad30a4526637"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 02 13:21:43 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 15:58:42 2012 -0400"
      },
      "message": "SUNRPC: Optimise away unnecessary data moves in xdr_align_pages\n\nWe only have to call xdr_shrink_pagelen() if the remaining RPC\nmessage does not fit in the page buffer length that we supplied\nto xdr_align_pages().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "13fe4ba1b64c099843c75b4f0633ad30a4526637",
      "tree": "28d579d3ed2cccf72f77963fbf6e5f15eff4ee92",
      "parents": [
        "8a9a8b8332b92b13316cf49685b5dc5257cfe115"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 01 14:21:12 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 26 12:43:10 2012 -0400"
      },
      "message": "NFSv4.1: decode_getdeviceinfo should check xdr_read_pages() return value\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8a9a8b8332b92b13316cf49685b5dc5257cfe115",
      "tree": "e3a0d5b5d0b9191e3a21f488dedd1f7aeb4dc968",
      "parents": [
        "62d98c935456ee121b03d6a68aa3091a04085b7e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 01 14:32:13 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 26 12:43:10 2012 -0400"
      },
      "message": "SUNRPC: Fix the return value of xdr_align_pages()\n\nThe callers of xdr_align_pages() expect it to return the number of bytes\nof actual XDR data remaining in the pages.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "62d98c935456ee121b03d6a68aa3091a04085b7e",
      "tree": "09f58145bc10308f4672ee156a0ed23ea87c4f7b",
      "parents": [
        "e8d920c58ddb45126e1b306854f6e34b88446baf"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Sep 17 16:46:34 2012 +1000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 25 10:38:54 2012 -0400"
      },
      "message": "NFS4: avoid underflow when converting error to pointer.\n\nIn nfs4_create_sec_client, \u0027flavor\u0027 can hold a negative error\ncode (returned from nfs4_negotiate_security), even though it\nis an \u0027enum\u0027 and hence unsigned.\n\nThe code is careful to cast it to an (int) before testing if it\nis negative, however it doesn\u0027t cast to an (int) before calling\nERR_PTR.\n\nOn a machine where \"void*\" is larger than \"int\", this results in\nthe unsigned equivalent of -1 (e.g. 0xffffffff) being converted\nto a pointer.  Subsequent code determines that this is not\nnegative, and so  dereferences it with predictable results.\n\nSo: cast \u0027flavor\u0027 to a (signed) int before passing to ERR_PTR.\n\ncc: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e8d920c58ddb45126e1b306854f6e34b88446baf",
      "tree": "9022863bcb9fa0ee7218f1d1f878846e222ab41e",
      "parents": [
        "84e28a307e376f271505af65a7b7e212dd6f61f4"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Fri Sep 21 12:27:41 2012 +0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 25 10:36:37 2012 -0400"
      },
      "message": "NFS: fix the return value check by using IS_ERR\n\nIn case of error, the function rpcauth_create() returns ERR_PTR()\nand never returns NULL pointer. The NULL test in the return value\ncheck should be replaced with IS_ERR().\n\ndpatch engine is used to auto generated this patch.\n(https://github.com/weiyj/dpatch)\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "84e28a307e376f271505af65a7b7e212dd6f61f4",
      "tree": "8b84708aebcd196381e1f01bc41b8320e082c489",
      "parents": [
        "a519fc7a70d1a918574bb826cc6905b87b482eb9"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Mon Sep 24 13:39:01 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 25 10:33:59 2012 -0400"
      },
      "message": "SUNRPC: Set alloc_slot for backchannel tcp ops\n\nf39c1bfb5a03e2d255451bff05be0d7255298fa4 (SUNRPC: Fix a UDP transport\nregression) introduced the \"alloc_slot\" function for xprt operations,\nbut never created one for the backchannel operations.  This patch fixes\na null pointer dereference when mounting NFS over v4.1.\n\nCall Trace:\n [\u003cffffffffa0207957\u003e] ? xprt_reserve+0x47/0x50 [sunrpc]\n [\u003cffffffffa02023a4\u003e] call_reserve+0x34/0x60 [sunrpc]\n [\u003cffffffffa020e280\u003e] __rpc_execute+0x90/0x400 [sunrpc]\n [\u003cffffffffa020e61a\u003e] rpc_async_schedule+0x2a/0x40 [sunrpc]\n [\u003cffffffff81073589\u003e] process_one_work+0x139/0x500\n [\u003cffffffff81070e70\u003e] ? alloc_worker+0x70/0x70\n [\u003cffffffffa020e5f0\u003e] ? __rpc_execute+0x400/0x400 [sunrpc]\n [\u003cffffffff81073d1e\u003e] worker_thread+0x15e/0x460\n [\u003cffffffff8145c839\u003e] ? preempt_schedule+0x49/0x70\n [\u003cffffffff81073bc0\u003e] ? rescuer_thread+0x230/0x230\n [\u003cffffffff81079603\u003e] kthread+0x93/0xa0\n [\u003cffffffff81465d04\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff81079570\u003e] ? kthread_freezable_should_stop+0x70/0x70\n [\u003cffffffff81465d00\u003e] ? gs_change+0x13/0x13\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a519fc7a70d1a918574bb826cc6905b87b482eb9",
      "tree": "c83f9217abc40b69e10f6288e78285238bf6a9e1",
      "parents": [
        "c46de2263f42fb4bbde411b9126f471e9343cb22"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 12 16:49:15 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 19 18:16:10 2012 -0400"
      },
      "message": "SUNRPC: Ensure that the TCP socket is closed when in CLOSE_WAIT\n\nInstead of doing a shutdown() call, we need to do an actual close().\nDitto if/when the server is sending us junk RPC headers.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nTested-by: Simon Kirby \u003csim@hostway.ca\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "c46de2263f42fb4bbde411b9126f471e9343cb22",
      "tree": "7e7209d5d70bdeac3e26234c357474aad461e4b7",
      "parents": [
        "077fee003624c06a1349895d8c0f89cc625cc39e",
        "2453f5f992717251cfadab6184fbb3ec2f2e8b40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:04:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:04:34 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nPull block fixes from Jens Axboe:\n \"A small collection of driver fixes/updates and a core fix for 3.6.  It\n  contains:\n\n   - Bug fixes for mtip32xx, and support for new hardware (just addition\n     of IDs).  They have been queued up for 3.7 for a few weeks as well.\n\n   - rate-limit a failing command error message in block core.\n\n   - A fix for an old cciss bug from Stephen.\n\n   - Prevent overflow of partition count from Alan.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  cciss: fix handling of protocol error\n  blk: add an upper sanity check on partition adding\n  mtip32xx: fix user_buffer check in exec_drive_command\n  mtip32xx: Remove dead code\n  mtip32xx: Change printk to pr_xxxx\n  mtip32xx: Proper reporting of write protect status on big-endian\n  mtip32xx: Increase timeout for standby command\n  mtip32xx: Handle NCQ commands during the security locked state\n  mtip32xx: Add support for new devices\n  block: rate-limit the error message from failing commands\n"
    },
    {
      "commit": "077fee003624c06a1349895d8c0f89cc625cc39e",
      "tree": "87b2f096f3d23afcfcd1da9ce7a8df6ce247c383",
      "parents": [
        "cf42d543e54143fbbaaa9972c5e69bc21a0b77dd",
        "5e071e2b4b82599f07cce5e1d2d272feb462950c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:03:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:03:55 2012 -0700"
      },
      "message": "Merge tag \u0027sh-for-linus\u0027 of git://github.com/pmundt/linux-sh\n\nPull SuperH fixes from Paul Mundt.\n\n* tag \u0027sh-for-linus\u0027 of git://github.com/pmundt/linux-sh:\n  sh: Fix up TIF_NOTIFY_RESUME sans TIF_SIGPENDING handling.\n  sh: pfc: Release spinlock in sh_pfc_gpio_request_enable() error path\n  sh: intc: Fix up multi-evt irq association.\n"
    },
    {
      "commit": "cf42d543e54143fbbaaa9972c5e69bc21a0b77dd",
      "tree": "19b99843dfe17185f4ccb81489536efcad1d2262",
      "parents": [
        "4b92c17e1dc10b6fec44241228c695ef93b504ea",
        "eeb0074f36d1ab0729d06f1c56add9c7799679e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:03:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:03:13 2012 -0700"
      },
      "message": "Merge tag \u0027rpmsg-3.6-fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg\n\nPull rpmsg fix from Ohad Ben-Cohen:\n \"A quick rpmsg fix from Fernando, fixing two buggy invocations of\n  dma_free_coherent\"\n\n* tag \u0027rpmsg-3.6-fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg:\n  rpmsg: fix dma_free_coherent dev parameter\n"
    },
    {
      "commit": "4b92c17e1dc10b6fec44241228c695ef93b504ea",
      "tree": "297120a780951c0f92cf2608f7ca5aaa1bab4f8c",
      "parents": [
        "c5c473e29c641380aef4a9d1f9c39de49219980f",
        "6dafab6b1383e912cd252fa809570b484eb6e0dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:01:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:01:38 2012 -0700"
      },
      "message": "Merge tag \u0027md-3.6-fixes\u0027 of git://neil.brown.name/md\n\nPull md fixes from NeilBrown:\n \"3 fixes for md in 3.6.\n\n  One reverts a recent patch which turns out to not be such a good idea.\n\n  Other two fix minor bugs with the new (since 3.3) \u0027replacement\u0027 code\n  and have been tagged for -stable.\"\n\n* tag \u0027md-3.6-fixes\u0027 of git://neil.brown.name/md:\n  md: make sure metadata is updated when spares are activated or removed.\n  md/raid5: fix calculate of \u0027degraded\u0027 when a replacement becomes active.\n  Revert \"md/raid5: For odirect-write performance, do not set STRIPE_PREREAD_ACTIVE.\"\n"
    },
    {
      "commit": "c5c473e29c641380aef4a9d1f9c39de49219980f",
      "tree": "7cc1d52fa7757ecd0903fc6e86bb22188d2a8bbd",
      "parents": [
        "925a6f0bf8bd122d5d2429af7f0ca0fecf4ae71f",
        "6889125b8b4e09c5e53e6ecab3433bed1ce198c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:00:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 19 11:00:07 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.6-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue / powernow-k8 fix from Tejun Heo:\n \"This is the fix for the bug where cpufreq/powernow-k8 was tripping\n  BUG_ON() in try_to_wake_up_local() by migrating workqueue worker to a\n  different CPU.\n\n    https://bugzilla.kernel.org/show_bug.cgi?id\u003d47301\n\n  As discussed, the fix is now two parts - one to reimplement\n  work_on_cpu() so that it doesn\u0027t create a new kthread each time and\n  the actual fix which makes powernow-k8 use work_on_cpu() instead of\n  performing manual migration.\n\n  While pretty late in the merge cycle, both changes are on the safer\n  side.  Jiri and I verified two existing users of work_on_cpu() and\n  Duncan confirmed that the powernow-k8 fix survived about 18 hours of\n  testing.\"\n\n* \u0027for-3.6-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  cpufreq/powernow-k8: workqueue user shouldn\u0027t migrate the kworker to another CPU\n  workqueue: reimplement work_on_cpu() using system_wq\n"
    },
    {
      "commit": "6889125b8b4e09c5e53e6ecab3433bed1ce198c9",
      "tree": "f7408140458c2d287014fb66d2b474af01ae9658",
      "parents": [
        "ed48ece27cd3d5ee0354c32bbaec0f3e1d4715c3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 18 14:24:59 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 19 10:15:01 2012 -0700"
      },
      "message": "cpufreq/powernow-k8: workqueue user shouldn\u0027t migrate the kworker to another CPU\n\npowernowk8_target() runs off a per-cpu work item and if the\ncpufreq_policy-\u003ecpu is different from the current one, it migrates the\nkworker to the target CPU by manipulating current-\u003ecpus_allowed.  The\nfunction migrates the kworker back to the original CPU but this is\nstill broken.  Workqueue concurrency management requires the kworkers\nto stay on the same CPU and powernowk8_target() ends up triggerring\nBUG_ON(rq !\u003d this_rq()) in try_to_wake_up_local() if it contends on\nfidvid_mutex and sleeps.\n\nIt is unclear why this bug is being reported now.  Duncan says it\nappeared to be a regression of 3.6-rc1 and couldn\u0027t reproduce it on\n3.5.  Bisection seemed to point to 63d95a91 \"workqueue: use @pool\ninstead of @gcwq or @cpu where applicable\" which is an non-functional\nchange.  Given that the reproduce case sometimes took upto days to\ntrigger, it\u0027s easy to be misled while bisecting.  Maybe something made\ncontention on fidvid_mutex more likely?  I don\u0027t know.\n\nThis patch fixes the bug by using work_on_cpu() instead if @pol-\u003ecpu\nisn\u0027t the same as the current one.  The code assumes that\ncpufreq_policy-\u003ecpu is kept online by the caller, which Rafael tells\nme is the case.\n\nstable: ed48ece27c (\"workqueue: reimplement work_on_cpu() using\n        system_wq\") should be applied before this; otherwise, the\n        behavior could be horrible.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Duncan \u003c1i5t5.duncan@cox.net\u003e\nTested-by: Duncan \u003c1i5t5.duncan@cox.net\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: stable@vger.kernel.org\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d47301\n"
    },
    {
      "commit": "ed48ece27cd3d5ee0354c32bbaec0f3e1d4715c3",
      "tree": "9ead3fba10ccd3118e6c4f38ed61cbf2bb2cbb3f",
      "parents": [
        "960bd11bf2daf669d0d910428fd9ef5a15c3d7cb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 18 12:48:43 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 19 10:13:12 2012 -0700"
      },
      "message": "workqueue: reimplement work_on_cpu() using system_wq\n\nThe existing work_on_cpu() implementation is hugely inefficient.  It\ncreates a new kthread, execute that single function and then let the\nkthread die on each invocation.\n\nNow that system_wq can handle concurrent executions, there\u0027s no\nadvantage of doing this.  Reimplement work_on_cpu() using system_wq\nwhich makes it simpler and way more efficient.\n\nstable: While this isn\u0027t a fix in itself, it\u0027s needed to fix a\n        workqueue related bug in cpufreq/powernow-k8.  AFAICS, this\n        shouldn\u0027t break other existing users.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "6dafab6b1383e912cd252fa809570b484eb6e0dc",
      "tree": "030e00e43fe4613fd6f44b384aae51301b1813ba",
      "parents": [
        "e5c86471f933608db5d43679f84cb4346c32033e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 19 12:54:22 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 19 12:54:22 2012 +1000"
      },
      "message": "md: make sure metadata is updated when spares are activated or removed.\n\nIt isn\u0027t always necessary to update the metadata when spares are\nremoved as the presence-or-not of a spare isn\u0027t really important to\nthe integrity of an array.\nAlso activating a spare doesn\u0027t always require updating the metadata\nas the update on \u0027recovery-completed\u0027 is usually sufficient.\n\nHowever the introduction of \u0027replacement\u0027 devices have made these\ntransitions sometimes more important.  For example the \u0027Replacement\u0027\nflag isn\u0027t cleared until the original device is removed, so we need\nto ensure a metadata update after that \u0027spare\u0027 is removed.\n\nSo set MD_CHANGE_DEVS whenever a spare is activated or removed, to\ncomplement the current situation where it is set when a spare is added\nor a device is failed (or a number of other less common situations).\n\nThis is suitable for -stable as out-of-data metadata could lead\nto data corruption.\nThis is only relevant for 3.3 and later 9when \u0027replacement\u0027 as\nintroduced.\n\nCc: stable@vger.kernel.org\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e5c86471f933608db5d43679f84cb4346c32033e",
      "tree": "e596b35a134b9cc4e308f90090ecf9998a5b58a4",
      "parents": [
        "a852d7b8a0cf29499905c9243fa6d3fb93898b82"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 19 12:52:30 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 19 12:52:30 2012 +1000"
      },
      "message": "md/raid5: fix calculate of \u0027degraded\u0027 when a replacement becomes active.\n\nWhen a replacement device becomes active, we mark the device that it\nreplaces as \u0027faulty\u0027 so that it can subsequently get removed.\nHowever \u0027calc_degraded\u0027 only pays attention to the primary device, not\nthe replacement, so the array appears to become degraded, which is\nwrong.\n\nSo teach \u0027calc_degraded\u0027 to consider any replacement if a primary\ndevice is faulty.\n\nThis is suitable for -stable as an incorrect \u0027degraded\u0027 value can\nconfuse md and could lead to data corruption.\nThis is only relevant for 3.3 and later.\n\nCc: stable@vger.kernel.org\nReported-by: Robin Hill \u003crobin@robinhill.me.uk\u003e\nReported-by: John Drescher \u003cdrescherjm@gmail.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "a852d7b8a0cf29499905c9243fa6d3fb93898b82",
      "tree": "006200722d6313f3ed8680c2fee6bd8d66a9de91",
      "parents": [
        "55d512e245bc7699a8800e23df1a24195dd08217"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 19 12:48:30 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 19 12:48:30 2012 +1000"
      },
      "message": "Revert \"md/raid5: For odirect-write performance, do not set STRIPE_PREREAD_ACTIVE.\"\n\nThis reverts commit 895e3c5c58a80bb9e4e05d9ac38b4f30e0f97d80.\n\nWhile this patch seemed like a good idea and did help some workloads,\nit hurts other workloads.\nLarge sequential O_DIRECT writes were faster,\nSmall random O_DIRECT writes were slower.\n\nOther changes (batching RAID5 writes) have improved the sequential\nwrites using a different mechanism, so the net result of this patch\nis definitely negative.  So revert it.\n\nReported-by: Shaohua Li \u003cshli@kernel.org\u003e\nTested-by: Jianpeng Ma \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "925a6f0bf8bd122d5d2429af7f0ca0fecf4ae71f",
      "tree": "2e896fe76b141280d291a09c126adb3cbdb1c370",
      "parents": [
        "b161dfa6937ae46d50adce8a7c6b12233e96e7bd",
        "e352614cd3e7a5f7af7cff894a3b5a705181de21"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 18 11:58:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 18 11:58:54 2012 -0700"
      },
      "message": "Merge tag \u0027hwspinlock-3.6-fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock\n\nPull hwspinlock fix from Ohad Ben-Cohen:\n \"A single hwspinlock fix by Wei Yongjun, which prevents potential NULL\n  dereferences\"\n\n* tag \u0027hwspinlock-3.6-fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock:\n  hwspinlock/core: move the dereference below the NULL test\n"
    },
    {
      "commit": "b161dfa6937ae46d50adce8a7c6b12233e96e7bd",
      "tree": "51ca2936e508c2c0f4a330c6dfdb1535a26eb6f9",
      "parents": [
        "4651afbbae968772efd6dc4ba461cba9b49bb9d8"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Sep 17 22:31:38 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 18 11:23:51 2012 -0700"
      },
      "message": "vfs: dcache: use DCACHE_DENTRY_KILLED instead of DCACHE_DISCONNECTED in d_kill()\n\nIBM reported a soft lockup after applying the fix for the rename_lock\ndeadlock.  Commit c83ce989cb5f (\"VFS: Fix the nfs sillyrename regression\nin kernel 2.6.38\") was found to be the culprit.\n\nThe nfs sillyrename fix used DCACHE_DISCONNECTED to indicate that the\ndentry was killed.  This flag can be set on non-killed dentries too,\nwhich results in infinite retries when trying to traverse the dentry\ntree.\n\nThis patch introduces a separate flag: DCACHE_DENTRY_KILLED, which is\nonly set in d_kill() and makes try_to_ascend() test only this flag.\n\nIBM reported successful test results with this patch.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2453f5f992717251cfadab6184fbb3ec2f2e8b40",
      "tree": "f4d48604b3588408cd393d075870cdbd50985b7d",
      "parents": [
        "2bd6efad25d7c1950008e2ab4e2d6796001919fc"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Fri Sep 14 16:35:10 2012 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Sep 18 11:57:08 2012 +0200"
      },
      "message": "cciss: fix handling of protocol error\n\nIf a command completes with a status of CMD_PROTOCOL_ERR, this\ninformation should be conveyed to the SCSI mid layer, not dropped\non the floor.  Unlike a similar bug in the hpsa driver, this bug\nonly affects tape drives and CD and DVD ROM drives in the cciss\ndriver, and to induce it, you have to disconnect (or damage) a\ncable, so it is not a very likely scenario (which would explain\nwhy the bug has gone undetected for the last 10 years.)\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "2bd6efad25d7c1950008e2ab4e2d6796001919fc",
      "tree": "408c87e0808e9b4ad4c8f9d95063c89d50350545",
      "parents": [
        "97651ea687d3b6a214c32b49f79523db709fba18"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Sep 17 11:47:13 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Sep 18 11:56:29 2012 +0200"
      },
      "message": "blk: add an upper sanity check on partition adding\n\n65536 should be ludicrous anyway but without it we overflow the\nmemory computation doing the allocation and badness occurs.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "5e071e2b4b82599f07cce5e1d2d272feb462950c",
      "tree": "a8113effc2ea9a29b876f2c08c87018dc5c9da5f",
      "parents": [
        "077664a2644ff6fa0fb1a0c15be96fed359d09f4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 18 17:04:37 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Sep 18 17:04:37 2012 +0900"
      },
      "message": "sh: Fix up TIF_NOTIFY_RESUME sans TIF_SIGPENDING handling.\n\nAs Al notes, we missed a TIF_NOTIFY_RESUME check which caused any\nhandlers without TIF_SIGPENDING also set to skip the notification:\n\n\tLooks like while it is in the relevant masks *and* checked in\n\tdo_notify_resume() both on 32bit and 64bit variants since commit\n\tab99c733ae73cce31f2a2434f7099564e5a73d95 (\"sh: Make syscall tracer\n\tuse tracehook notifiers, add TIF_NOTIFY_RESUME.\") they are\n\tactually *not* reached without simulataneous SIGPENDING, since\n\tthe actual glue in the callers had not been updated back then and\n\tstill checks for _TIF_SIGPENDING alone when deciding whether to\n\thit do_notify_resume() or not.\n\nReported-by: Nobuhiro Iwamatsu \u003cnobuhiro.iwamatsu.yj@renesas.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nTested-by: Nobuhiro Iwamatsu \u003cnobuhiro.iwamatsu.yj@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "077664a2644ff6fa0fb1a0c15be96fed359d09f4",
      "tree": "b09b296f19553512c550418da3396a7003b384d5",
      "parents": [
        "d4b7c5db429fbfd3c79120b27ccf66d583606b57"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Fri Sep 14 20:25:48 2012 +0200"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Sep 18 16:54:46 2012 +0900"
      },
      "message": "sh: pfc: Release spinlock in sh_pfc_gpio_request_enable() error path\n\nThe sh_pfc_gpio_request_enable() function acquires a spinlock but fails\nto release it before returning if the requested mux type is not\nsupported. Fix this.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "4651afbbae968772efd6dc4ba461cba9b49bb9d8",
      "tree": "486bfb263e8b7ad09c29db16f3d2925fc6c03555",
      "parents": [
        "08077ca849ced0306ce842ed597b0d80434a8bf0",
        "960bd11bf2daf669d0d910428fd9ef5a15c3d7cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 16:05:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 16:05:23 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.6-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull another workqueue fix from Tejun Heo:\n \"Unfortunately, yet another late fix.  This too is discovered and fixed\n  by Lai.  This bug was introduced during this merge window by commit\n  25511a477657 (\"workqueue: reimplement CPU online rebinding to handle\n  idle workers\") which started using WORKER_REBIND flag for idle rebind\n  too.\n\n  The bug is relatively easy to trigger if the CPU rapidly goes through\n  off, on and then off (and stay off).  The fix is on the safer side.\n  This hasn\u0027t been on linux-next yet but I\u0027m pushing early so that it\n  can get more exposure before v3.6 release.\"\n\n* \u0027for-3.6-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: always clear WORKER_REBIND in busy_worker_rebind_fn()\n"
    },
    {
      "commit": "960bd11bf2daf669d0d910428fd9ef5a15c3d7cb",
      "tree": "f2649d121f402be4a19a0432a1987615a2e45c09",
      "parents": [
        "ee378aa49b594da9bda6a2c768cc5b2ad585f911"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Sep 17 15:42:31 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Sep 17 15:42:31 2012 -0700"
      },
      "message": "workqueue: always clear WORKER_REBIND in busy_worker_rebind_fn()\n\nbusy_worker_rebind_fn() didn\u0027t clear WORKER_REBIND if rebinding failed\n(CPU is down again).  This used to be okay because the flag wasn\u0027t\nused for anything else.\n\nHowever, after 25511a477 \"workqueue: reimplement CPU online rebinding\nto handle idle workers\", WORKER_REBIND is also used to command idle\nworkers to rebind.  If not cleared, the worker may confuse the next\nCPU_UP cycle by having REBIND spuriously set or oops / get stuck by\nprematurely calling idle_worker_rebind().\n\n  WARNING: at /work/os/wq/kernel/workqueue.c:1323 worker_thread+0x4cd/0x5\n 00()\n  Hardware name: Bochs\n  Modules linked in: test_wq(O-)\n  Pid: 33, comm: kworker/1:1 Tainted: G           O 3.6.0-rc1-work+ #3\n  Call Trace:\n   [\u003cffffffff8109039f\u003e] warn_slowpath_common+0x7f/0xc0\n   [\u003cffffffff810903fa\u003e] warn_slowpath_null+0x1a/0x20\n   [\u003cffffffff810b3f1d\u003e] worker_thread+0x4cd/0x500\n   [\u003cffffffff810bc16e\u003e] kthread+0xbe/0xd0\n   [\u003cffffffff81bd2664\u003e] kernel_thread_helper+0x4/0x10\n  ---[ end trace e977cf20f4661968 ]---\n  BUG: unable to handle kernel NULL pointer dereference at           (null)\n  IP: [\u003cffffffff810b3db0\u003e] worker_thread+0x360/0x500\n  PGD 0\n  Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n  Modules linked in: test_wq(O-)\n  CPU 0\n  Pid: 33, comm: kworker/1:1 Tainted: G        W  O 3.6.0-rc1-work+ #3 Bochs Bochs\n  RIP: 0010:[\u003cffffffff810b3db0\u003e]  [\u003cffffffff810b3db0\u003e] worker_thread+0x360/0x500\n  RSP: 0018:ffff88001e1c9de0  EFLAGS: 00010086\n  RAX: 0000000000000000 RBX: ffff88001e633e00 RCX: 0000000000004140\n  RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000009\n  RBP: ffff88001e1c9ea0 R08: 0000000000000000 R09: 0000000000000001\n  R10: 0000000000000002 R11: 0000000000000000 R12: ffff88001fc8d580\n  R13: ffff88001fc8d590 R14: ffff88001e633e20 R15: ffff88001e1c6900\n  FS:  0000000000000000(0000) GS:ffff88001fc00000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n  CR2: 0000000000000000 CR3: 00000000130e8000 CR4: 00000000000006f0\n  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n  DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n  Process kworker/1:1 (pid: 33, threadinfo ffff88001e1c8000, task ffff88001e1c6900)\n  Stack:\n   ffff880000000000 ffff88001e1c9e40 0000000000000001 ffff88001e1c8010\n   ffff88001e519c78 ffff88001e1c9e58 ffff88001e1c6900 ffff88001e1c6900\n   ffff88001e1c6900 ffff88001e1c6900 ffff88001fc8d340 ffff88001fc8d340\n  Call Trace:\n   [\u003cffffffff810bc16e\u003e] kthread+0xbe/0xd0\n   [\u003cffffffff81bd2664\u003e] kernel_thread_helper+0x4/0x10\n  Code: b1 00 f6 43 48 02 0f 85 91 01 00 00 48 8b 43 38 48 89 df 48 8b 00 48 89 45 90 e8 ac f0 ff ff 3c 01 0f 85 60 01 00 00 48 8b 53 50 \u003c8b\u003e 02 83 e8 01 85 c0 89 02 0f 84 3b 01 00 00 48 8b 43 38 48 8b\n  RIP  [\u003cffffffff810b3db0\u003e] worker_thread+0x360/0x500\n   RSP \u003cffff88001e1c9de0\u003e\n  CR2: 0000000000000000\n\nThere was no reason to keep WORKER_REBIND on failure in the first\nplace - WORKER_UNBOUND is guaranteed to be set in such cases\npreventing incorrectly activating concurrency management.  Always\nclear WORKER_REBIND.\n\ntj: Updated comment and description.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "08077ca849ced0306ce842ed597b0d80434a8bf0",
      "tree": "a1c7b602fc2f945dc65493a06042a7dc0d09d85a",
      "parents": [
        "2ade0b7f795293ca0b11c1bf3d2f99ed33e04a2a",
        "f14851af0ebb32745c6c5a2e400aa0549f9d20df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:01:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:01:14 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge fixes from Andrew Morton:\n \"13 patches.  12 are fixes and one is a little preparatory thing for\n  Andi.\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (13 commits)\n  memory hotplug: fix section info double registration bug\n  mm/page_alloc: fix the page address of higher page\u0027s buddy calculation\n  drivers/rtc/rtc-twl.c: ensure all interrupts are disabled during probe\n  compiler.h: add __visible\n  pid-namespace: limit value of ns_last_pid to (0, max_pid)\n  include/net/sock.h: squelch compiler warning in sk_rmem_schedule()\n  slub: consider pfmemalloc_match() in get_partial_node()\n  slab: fix starting index for finding another object\n  slab: do ClearSlabPfmemalloc() for all pages of slab\n  nbd: clear waiting_queue on shutdown\n  MAINTAINERS: fix TXT maintainer list and source repo path\n  mm/ia64: fix a memory block size bug\n  memory hotplug: reset pgdat-\u003ekswapd to NULL if creating kernel thread fails\n"
    },
    {
      "commit": "f14851af0ebb32745c6c5a2e400aa0549f9d20df",
      "tree": "861f66b55bafe4a669d29469c24a3535ac1b8e2b",
      "parents": [
        "0ba8f2d59304dfe69b59c034de723ad80f7ab9ac"
      ],
      "author": {
        "name": "qiuxishi",
        "email": "qiuxishi@gmail.com",
        "time": "Mon Sep 17 14:09:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "memory hotplug: fix section info double registration bug\n\nThere may be a bug when registering section info.  For example, on my\nItanium platform, the pfn range of node0 includes the other nodes, so\nother nodes\u0027 section info will be double registered, and memmap\u0027s page\ncount will equal to 3.\n\n  node0: start_pfn\u003d0x100,    spanned_pfn\u003d0x20fb00, present_pfn\u003d0x7f8a3, \u003d\u003e 0x000100-0x20fc00\n  node1: start_pfn\u003d0x80000,  spanned_pfn\u003d0x80000,  present_pfn\u003d0x80000, \u003d\u003e 0x080000-0x100000\n  node2: start_pfn\u003d0x100000, spanned_pfn\u003d0x80000,  present_pfn\u003d0x80000, \u003d\u003e 0x100000-0x180000\n  node3: start_pfn\u003d0x180000, spanned_pfn\u003d0x80000,  present_pfn\u003d0x80000, \u003d\u003e 0x180000-0x200000\n\n  free_all_bootmem_node()\n\tregister_page_bootmem_info_node()\n\t\tregister_page_bootmem_info_section()\n\nWhen hot remove memory, we can\u0027t free the memmap\u0027s page because\npage_count() is 2 after put_page_bootmem().\n\n  sparse_remove_one_section()\n\tfree_section_usemap()\n\t\tfree_map_bootmem()\n\t\t\tput_page_bootmem()\n\n[akpm@linux-foundation.org: add code comment]\nSigned-off-by: Xishi Qiu \u003cqiuxishi@huawei.com\u003e\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nCc: \u003cstable@vger.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": "0ba8f2d59304dfe69b59c034de723ad80f7ab9ac",
      "tree": "c6866a0514f55028499c473572dae48bd502f78f",
      "parents": [
        "8dcebaa9a0ae8a0487f4342f3d56d2cb1c980860"
      ],
      "author": {
        "name": "Li Haifeng",
        "email": "omycle@gmail.com",
        "time": "Mon Sep 17 14:09:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "mm/page_alloc: fix the page address of higher page\u0027s buddy calculation\n\nThe heuristic method for buddy has been introduced since commit\n43506fad21ca (\"mm/page_alloc.c: simplify calculation of combined index\nof adjacent buddy lists\").  But the page address of higher page\u0027s buddy\nwas wrongly calculated, which will lead page_is_buddy to fail for ever.\nIOW, the heuristic method would be disabled with the wrong page address\nof higher page\u0027s buddy.\n\nCalculating the page address of higher page\u0027s buddy should be based\nhigher_page with the offset between index of higher page and index of\nhigher page\u0027s buddy.\n\nSigned-off-by: Haifeng Li \u003comycle@gmail.com\u003e\nSigned-off-by: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: KyongHo Cho \u003cpullip.cho@samsung.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[2.6.38+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8dcebaa9a0ae8a0487f4342f3d56d2cb1c980860",
      "tree": "66b09ae6518184136d0df8eb77dd98180d0a2769",
      "parents": [
        "9a858dc7cebce01a7bb616bebb85087fa2b40871"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@ti.com",
        "time": "Mon Sep 17 14:09:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "drivers/rtc/rtc-twl.c: ensure all interrupts are disabled during probe\n\nOn some platforms, bootloaders are known to do some interesting RTC\nprogramming.  Without going into the obscurities as to why this may be\nthe case, suffice it to say the the driver should not make any\nassumptions about the state of the RTC when the driver loads.  In\nparticular, the driver probe should be sure that all interrupts are\ndisabled until otherwise programmed.\n\nThis was discovered when finding bursty I2C traffic every second on\nOvero platforms.  This I2C overhead was keeping the SoC from hitting\ndeep power states.  The cause was found to be the RTC firing every\nsecond on the I2C-connected TWL PMIC.\n\nSpecial thanks to Felipe Balbi for suggesting to look for a rogue driver\nas the source of the I2C traffic rather than the I2C driver itself.\n\nSpecial thanks to Steve Sakoman for helping track down the source of the\ncontinuous RTC interrups on the Overo boards.\n\nSigned-off-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nCc: Felipe Balbi \u003cbalbi@ti.com\u003e\nTested-by: Steve Sakoman \u003csteve@sakoman.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nTested-by: Shubhrajyoti Datta \u003comaplinuxkernel@gmail.com\u003e\nCc: \u003cstable@vger.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": "9a858dc7cebce01a7bb616bebb85087fa2b40871",
      "tree": "70e8b7fd41d6503e105cdd0b5b9ed3e6f7c464ee",
      "parents": [
        "579035dc5ddd6d48fd8529e7358b03d911ab9d8a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Sep 17 14:09:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "compiler.h: add __visible\n\ngcc 4.6+ has support for a externally_visible attribute that prevents the\noptimizer from optimizing unused symbols away.  Add a __visible macro to\nuse it with that compiler version or later.\n\nThis is used (at least) by the \"Link Time Optimization\" patchset.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "579035dc5ddd6d48fd8529e7358b03d911ab9d8a",
      "tree": "bd54e0a33715547454b241124258c0c3c0d2be5e",
      "parents": [
        "35c448a8a3471b95ebc0ebcf91eb1183401b4274"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Mon Sep 17 14:09:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "pid-namespace: limit value of ns_last_pid to (0, max_pid)\n\nThe kernel doesn\u0027t check the pid for negative values, so if you try to\nwrite -2 to /proc/sys/kernel/ns_last_pid, you will get a kernel panic.\n\nThe crash happens because the next pid is -1, and alloc_pidmap() will\ntry to access to a nonexistent pidmap.\n\n  map \u003d \u0026pid_ns-\u003epidmap[pid/BITS_PER_PAGE];\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nAcked-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35c448a8a3471b95ebc0ebcf91eb1183401b4274",
      "tree": "be99b30b7ad761c1bf77e8b6132a98b1959b3c5c",
      "parents": [
        "8ba00bb68a067c221cc3ea3a0293e8fcbdcb7ba1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Sep 17 14:09:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "include/net/sock.h: squelch compiler warning in sk_rmem_schedule()\n\nThis warning:\n\n  In file included from linux/include/linux/tcp.h:227:0,\n                   from linux/include/linux/ipv6.h:221,\n                   from linux/include/net/ipv6.h:16,\n                   from linux/include/linux/sunrpc/clnt.h:26,\n                   from linux/net/sunrpc/stats.c:22:\n  linux/include/net/sock.h: In function `sk_rmem_schedule\u0027:\n  linux/nfs-2.6/include/net/sock.h:1339:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\n\nis seen with gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) using the\n-Wextra option.\n\nCommit c76562b6709f (\"netvm: prevent a stream-specific deadlock\")\naccidentally replaced the \"size\" parameter of sk_rmem_schedule() with an\nunsigned int.  This changes the semantics of the comparison in the\nreturn statement.\n\nIn sk_wmem_schedule we have syntactically the same comparison, but\n\"size\" is a signed integer.  In addition, __sk_mem_schedule() takes a\nsigned integer for its \"size\" parameter, so there is an implicit type\nconversion in sk_rmem_schedule() anyway.\n\nRevert the \"size\" parameter back to a signed integer so that the\nsemantics of the expressions in both sk_[rw]mem_schedule() are exactly\nthe same.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Pekka Enberg \u003cpenberg@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": "8ba00bb68a067c221cc3ea3a0293e8fcbdcb7ba1",
      "tree": "6642f9819b79c51891d7f829c5cf1f384ffc6cc5",
      "parents": [
        "d014dc2ed4fae84cb92509416c8bfc9078d4f0d9"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "js1304@gmail.com",
        "time": "Mon Sep 17 14:09:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "slub: consider pfmemalloc_match() in get_partial_node()\n\nget_partial() is currently not checking pfmemalloc_match() meaning that\nit is possible for pfmemalloc pages to leak to non-pfmemalloc users.\nThis is a problem in the following situation.  Assume that there is a\nrequest from normal allocation and there are no objects in the per-cpu\ncache and no node-partial slab.\n\nIn this case, slab_alloc enters the slow path and new_slab_objects() is\ncalled which may return a PFMEMALLOC page.  As the current user is not\nallowed to access PFMEMALLOC page, deactivate_slab() is called\n([5091b74a: mm: slub: optimise the SLUB fast path to avoid pfmemalloc\nchecks]) and returns an object from PFMEMALLOC page.\n\nNext time, when we get another request from normal allocation,\nslab_alloc() enters the slow-path and calls new_slab_objects().  In\nnew_slab_objects(), we call get_partial() and get a partial slab which\nwas just deactivated but is a pfmemalloc page.  We extract one object\nfrom it and re-deactivate.\n\n  \"deactivate -\u003e re-get in get_partial -\u003e re-deactivate\" occures repeatedly.\n\nAs a result, access to PFMEMALLOC page is not properly restricted and it\ncan cause a performance degradation due to frequent deactivation.\ndeactivation frequently.\n\nThis patch changes get_partial_node() to take pfmemalloc_match() into\naccount and prevents the \"deactivate -\u003e re-get in get_partial()\nscenario.  Instead, new_slab() is called.\n\nSigned-off-by: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Pekka Enberg \u003cpenberg@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": "d014dc2ed4fae84cb92509416c8bfc9078d4f0d9",
      "tree": "18fc37fa196f4450daa8f31b25313e350fed312d",
      "parents": [
        "30c29bea6af2d3b6ffc8865864de7fc08cadb5df"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "js1304@gmail.com",
        "time": "Mon Sep 17 14:09:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "slab: fix starting index for finding another object\n\nIn array cache, there is a object at index 0, check it.\n\nSigned-off-by: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Pekka Enberg \u003cpenberg@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": "30c29bea6af2d3b6ffc8865864de7fc08cadb5df",
      "tree": "b01c1ad1f07cfe5d2a7b0b6b2704358c70994899",
      "parents": [
        "fded4e090c60100d709318896c79816d68d5b47d"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Sep 17 14:09:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "slab: do ClearSlabPfmemalloc() for all pages of slab\n\nRight now, we call ClearSlabPfmemalloc() for first page of slab when we\nclear SlabPfmemalloc flag.  This is fine for most swap-over-network use\ncases as it is expected that order-0 pages are in use.  Unfortunately it\nis possible that that __ac_put_obj() checks SlabPfmemalloc on a tail\npage and while this is harmless, it is sloppy.  This patch ensures that\nthe head page is always used.\n\nThis problem was originally identified by Joonsoo Kim.\n\n[js1304@gmail.com: Original implementation and problem identification]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Pekka Enberg \u003cpenberg@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": "fded4e090c60100d709318896c79816d68d5b47d",
      "tree": "889cd9547a487296b5354b1956e174b4750a2737",
      "parents": [
        "e9b7d7c81d9bdb41a897a2983ae3386a5fd4a1e3"
      ],
      "author": {
        "name": "Paul Clements",
        "email": "paul.clements@steeleye.com",
        "time": "Mon Sep 17 14:09:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:37 2012 -0700"
      },
      "message": "nbd: clear waiting_queue on shutdown\n\nFix a serious but uncommon bug in nbd which occurs when there is heavy\nI/O going to the nbd device while, at the same time, a failure (server,\nnetwork) or manual disconnect of the nbd connection occurs.\n\nThere is a small window between the time that the nbd_thread is stopped\nand the socket is shutdown where requests can continue to be queued to\nnbd\u0027s internal waiting_queue.  When this happens, those requests are\nnever completed or freed.\n\nThe fix is to clear the waiting_queue on shutdown of the nbd device, in\nthe same way that the nbd request queue (queue_head) is already being\ncleared.\n\nSigned-off-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: \u003cstable@vger.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": "e9b7d7c81d9bdb41a897a2983ae3386a5fd4a1e3",
      "tree": "0bae93803dbf817d816198969a59ead51b79b13d",
      "parents": [
        "05cf96398e1b6502f9e191291b715c7463c9d5dd"
      ],
      "author": {
        "name": "Gang Wei",
        "email": "gang.wei@intel.com",
        "time": "Mon Sep 17 14:08:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:37 2012 -0700"
      },
      "message": "MAINTAINERS: fix TXT maintainer list and source repo path\n\nSigned-off-by: Gang Wei \u003cgang.wei@intel.com\u003e\nCc: Richard L Maliszewski \u003crichard.l.maliszewski@intel.com\u003e\nCc: Gang Wei \u003cgang.wei@intel.com\u003e\nCc: Shane Wang \u003cshane.wang@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05cf96398e1b6502f9e191291b715c7463c9d5dd",
      "tree": "8dd12c4142216f4e3acb344146c0c4cae3a1588f",
      "parents": [
        "18b48d5873a6fc8e0e6044ddb572fcda26988f19"
      ],
      "author": {
        "name": "Jianguo Wu",
        "email": "wujianguo@huawei.com",
        "time": "Mon Sep 17 14:08:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:37 2012 -0700"
      },
      "message": "mm/ia64: fix a memory block size bug\n\nI found following definition in include/linux/memory.h, in my IA64\nplatform, SECTION_SIZE_BITS is equal to 32, and MIN_MEMORY_BLOCK_SIZE\nwill be 0.\n\n  #define MIN_MEMORY_BLOCK_SIZE     (1 \u003c\u003c SECTION_SIZE_BITS)\n\nBecause MIN_MEMORY_BLOCK_SIZE is int type and length of 32bits,\nso MIN_MEMORY_BLOCK_SIZE(1 \u003c\u003c 32) will will equal to 0.\nActually when SECTION_SIZE_BITS \u003e\u003d 31, MIN_MEMORY_BLOCK_SIZE will be wrong.\nThis will cause wrong system memory infomation in sysfs.\nI think it should be:\n\n  #define MIN_MEMORY_BLOCK_SIZE     (1UL \u003c\u003c SECTION_SIZE_BITS)\n\nAnd \"echo offline \u003e memory0/state\" will cause following call trace:\n\n  kernel BUG at mm/memory_hotplug.c:885!\n  sh[6455]: bugcheck! 0 [1]\n  Pid: 6455, CPU 0, comm:                   sh\n  psr : 0000101008526030 ifs : 8000000000000fa4 ip  : [\u003ca0000001008c40f0\u003e]    Not tainted (3.6.0-rc1)\n  ip is at offline_pages+0x210/0xee0\n  Call Trace:\n    show_stack+0x80/0xa0\n    show_regs+0x640/0x920\n    die+0x190/0x2c0\n    die_if_kernel+0x50/0x80\n    ia64_bad_break+0x3d0/0x6e0\n    ia64_native_leave_kernel+0x0/0x270\n    offline_pages+0x210/0xee0\n    alloc_pages_current+0x180/0x2a0\n\nSigned-off-by: Jianguo Wu \u003cwujianguo@huawei.com\u003e\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: \u003cstable@vger.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": "18b48d5873a6fc8e0e6044ddb572fcda26988f19",
      "tree": "0f26f8c1e70b8d07b1e45b36f0dfc1b1c7a60131",
      "parents": [
        "6bf6104573482570f7103d3e5ddf9574db43a363"
      ],
      "author": {
        "name": "Wen Congyang",
        "email": "wency@cn.fujitsu.com",
        "time": "Mon Sep 17 14:08:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:37 2012 -0700"
      },
      "message": "memory hotplug: reset pgdat-\u003ekswapd to NULL if creating kernel thread fails\n\nIf kthread_run() fails, pgdat-\u003ekswapd contains errno.  When we stop this\nthread, we only check whether pgdat-\u003ekswapd is NULL and access it.  If\nit contains errno, it will cause page fault.  Reset pgdat-\u003ekswapd to\nNULL when creating kernel thread fails can avoid this problem.\n\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan@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": "2ade0b7f795293ca0b11c1bf3d2f99ed33e04a2a",
      "tree": "98e9130cb8d776bc8b7f855d7d6894b0b8bfc78b",
      "parents": [
        "6bf6104573482570f7103d3e5ddf9574db43a363",
        "2116fe4e8ba340cc0738e29588fd294d8ba74e0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 13:21:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 13:21:02 2012 -0700"
      },
      "message": "Merge tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull InfiniBand/RDMA fixes from Roland Dreier:\n - A couple more IPoIB fixes for regressions introduced by path database\n   conversion\n - Minor other fixes to low-level drivers (cxgb4, mlx4, qib, ocrdma)\n\n* tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/qib: Fix failure of compliance test C14-024#06_LocalPortNum\n  RDMA/ocrdma: Fix CQE expansion of unsignaled WQE\n  mlx4_core: Fix integer overflows so 8TBs of memory registration works\n  IPoIB: Fix AB-BA deadlock when deleting neighbours\n  IPoIB: Fix memory leak in the neigh table deletion flow\n  RDMA/cxgb4: Move dereference below NULL test\n"
    },
    {
      "commit": "6bf6104573482570f7103d3e5ddf9574db43a363",
      "tree": "4aa02983bfffbe0d623c0163822354b48693eca0",
      "parents": [
        "5698bd757d55b1bb87edd1a9744ab09c142abfc2"
      ],
      "author": {
        "name": "Francesco Ruggeri",
        "email": "fruggeri@aristanetworks.com",
        "time": "Thu Sep 13 15:03:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 10:32:03 2012 -0700"
      },
      "message": "fs/proc: fix potential unregister_sysctl_table hang\n\nThe unregister_sysctl_table() function hangs if all references to its\nctl_table_header structure are not dropped.\n\nThis can happen sometimes because of a leak in proc_sys_lookup():\nproc_sys_lookup() gets a reference to the table via lookup_entry(), but\nit does not release it when a subsequent call to sysctl_follow_link()\nfails.\n\nThis patch fixes this leak by making sure the reference is always\ndropped on return.\n\nSee also commit 076c3eed2c31 (\"sysctl: Rewrite proc_sys_lookup\nintroducing find_entry and lookup_entry\") which reorganized this code in\n3.4.\n\nTested in Linux 3.4.4.\n\nSigned-off-by: Francesco Ruggeri \u003cfruggeri@aristanetworks.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5698bd757d55b1bb87edd1a9744ab09c142abfc2",
      "tree": "30a2748aafb39131b8e3d0dbc427b040435e584b",
      "parents": [
        "73f8be297e90f6ebb951c30490376833f8782349"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 14:58:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 14:58:51 2012 -0700"
      },
      "message": "Linux 3.6-rc6\n"
    },
    {
      "commit": "73f8be297e90f6ebb951c30490376833f8782349",
      "tree": "1e15c36ed544e33b82e2bbbc6ba8d787c9d3e7e4",
      "parents": [
        "c500ce38e52bb2f526b84f41314a9a9f83a2fdf5",
        "b186b12487efc80c44f2f0d26cc26eb249cf1524"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 13:22:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 13:22:21 2012 -0700"
      },
      "message": "Merge tag \u0027mfd-for-linus-3.6-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\nPull mfd fixes from Samuel Ortiz:\n \"This is the remaining MFD fixes for 3.6, with 5 pending fixes:\n\n   - A tps65217 build error fix.\n   - A lcp_ich regression fix caused by the MFD driver failing to\n     initialize the watchdog sub device due to ACPI conflicts.\n   - 2 MAX77693 interrupt handling bug fixes.\n   - An MFD core fix, adding an IRQ domain argument to the MFD device\n     addition API in order to prevent silent and potentially harmful\n     remapping behaviour changes for drivers supporting non-DT\n     platforms.\"\n\n* tag \u0027mfd-for-linus-3.6-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:\n  mfd: MAX77693: Fix NULL pointer error when initializing irqs\n  mfd: MAX77693: Fix interrupt handling bug\n  mfd: core: Push irqdomain mapping out into devices\n  mfd: lpc_ich: Fix a 3.5 kernel regression for iTCO_wdt driver\n  mfd: Move tps65217 regulator plat data handling to regulator\n"
    },
    {
      "commit": "c500ce38e52bb2f526b84f41314a9a9f83a2fdf5",
      "tree": "242bca2c4d3dfd24a2497bba0ac9351f2066e469",
      "parents": [
        "76e77daf6529381296f14628959aac127c817b26",
        "01b2d4536f0215c6d97d77e157afee04300ffc90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 13:20:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 13:20:43 2012 -0700"
      },
      "message": "Merge tag \u0027for-3.6-rc6\u0027 of git://gitorious.org/linux-pwm/linux-pwm\n\nPull pwm fixes from Thierry Reding:\n \"While this comes a bit later than I had wished, both patches are\n  rather minor and touch only new drivers so I think these are still\n  safe for merging.\"\n\n* tag \u0027for-3.6-rc6\u0027 of git://gitorious.org/linux-pwm/linux-pwm:\n  pwm: pwm-tiehrpwm: Fix conflicting channel period setting\n  pwm: pwm-tiecap: Disable APWM mode after configure\n"
    },
    {
      "commit": "76e77daf6529381296f14628959aac127c817b26",
      "tree": "6a92187dfcdae55de642414b8008d9381a0295eb",
      "parents": [
        "9bc67590a65a18201444c2d3d7dae3e897e700c2",
        "6abbdf38363f064c8a50150c9b709682764483b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 13:00:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 13:00:36 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull scsi target fixes from Nicholas Bellinger:\n \"Here is the current set of target-pending fixes headed for v3.6-final\n\n  The main parts of this series include bug-fixes from Paolo Bonzini to\n  address an use-after-free bug in pSCSI sense exception handling, along\n  with addressing some long-standing bugs wrt the handling of zero-\n  length SCSI CDB payloads also specific to pSCSI pass-through device\n  backends.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:\n  target: go through normal processing for zero-length REQUEST_SENSE\n  target: support zero allocation length in REQUEST SENSE\n  target: support zero-size allocation lengths in transport_kmap_data_sg\n  target: fail REPORT LUNS with less than 16 bytes of payload\n  target: report too-small parameter lists everywhere\n  target: go through normal processing for zero-length PSCSI commands\n  target: fix use-after-free with PSCSI sense data\n  target: simplify code around transport_get_sense_data\n  target: move transport_get_sense_data\n  target: Check idr_get_new return value in iscsi_login_zero_tsih_s1\n  target: Fix -\u003edata_length re-assignment bug with SCSI overflow\n"
    },
    {
      "commit": "9bc67590a65a18201444c2d3d7dae3e897e700c2",
      "tree": "6a10e6aaae15c7671b92b9e961ddd47060a87e7f",
      "parents": [
        "6167f81fd1054881d7476f57a8897ae4a477fa8b",
        "f25b70613c048ceb1df052576fda03321ebf41cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:59:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:59:42 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.6-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management fixes from Rafael J. Wysocki:\n \"Three ACPI device power management fixes related to checking and\n  setting device power states.\"\n\n* tag \u0027pm-for-3.6-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  ACPI / PM: Use KERN_DEBUG when no power resources are found\n  ACPI / PM: Fix resource_lock dead lock in acpi_power_on_device\n  ACPI / PM: Infer parent power state from child if unknown, v2\n"
    },
    {
      "commit": "6167f81fd1054881d7476f57a8897ae4a477fa8b",
      "tree": "96529bbf38c5933e188711db56d55c61540ffe46",
      "parents": [
        "a34689d98059f0c88cef08a78866e81eb53466c9",
        "f3a87f1b0c4086a408eda48e4c26e32ff80d3124"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:58:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:58:44 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\nPull a btrfs revert from Chris Mason:\n \"My for-linus branch has one revert in the new quota code.\n\n  We\u0027re building up more fixes at etc for the next merge window, but I\u0027m\n  keeping them out unless they are bigger regressions or have a huge\n  impact.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:\n  Revert \"Btrfs: fix some error codes in btrfs_qgroup_inherit()\"\n"
    },
    {
      "commit": "a34689d98059f0c88cef08a78866e81eb53466c9",
      "tree": "5501c1c2b8b5adbc4492f703709e6ae7996d14a5",
      "parents": [
        "37407ea7f93864c2cfc03edf8f37872ec539ea2b",
        "5d037f9064a8f3b9abbe383cdfb35e159d813711"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:57:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:57:59 2012 -0700"
      },
      "message": "Merge tag \u0027sound-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\nPull more sound fixes from Takashi Iwai:\n \"Yet more (a bunch of) small fixes that slipped from the previous pull\n  request.  Most of commits are pending ASoC fixes, all of which are\n  fairly trivial commits.\"\n\n* tag \u0027sound-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:\n  ASoC: wm8904: correct the index\n  ALSA: hda - Yet another position_fix quirk for ASUS machines\n  ASoC: tegra: fix maxburst settings in dmaengine code\n  ASoC: samsung dma - Don\u0027t indicate support for pause/resume.\n  ASoC: mc13783: Remove mono support\n  ASoC: arizona: Fix typo in 44.1kHz rates\n  ASoC: spear: correct the check for NULL dma_buffer pointer\n  sound: tegra_alc5632: remove HP detect GPIO inversion\n  ASoC: atmel-ssc: include linux/io.h for raw io\n  ASoC: dapm: Don\u0027t force card bias level to be updated\n  ASoC: dapm: Make sure we update the bias level for CODECs with no op\n  ASoC: am3517evm: fix error return code\n  ASoC: ux500_msp_i2s: better use devm functions and fix error return code\n  ASoC: imx-sgtl5000: fix error return code\n"
    },
    {
      "commit": "37407ea7f93864c2cfc03edf8f37872ec539ea2b",
      "tree": "7c07e7adadd40fc94cebfe816f1c65a4a630b147",
      "parents": [
        "3f0c3c8fe30c725c1264fb6db8cc4b69db3a658a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:29:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:29:43 2012 -0700"
      },
      "message": "Revert \"sched: Improve scalability via \u0027CPU buddies\u0027, which withstand random perturbations\"\n\nThis reverts commit 970e178985cadbca660feb02f4d2ee3a09f7fdda.\n\nNikolay Ulyanitsky reported thatthe 3.6-rc5 kernel has a 15-20%\nperformance drop on PostgreSQL 9.2 on his machine (running \"pgbench\").\n\nBorislav Petkov was able to reproduce this, and bisected it to this\ncommit 970e178985ca (\"sched: Improve scalability via \u0027CPU buddies\u0027 ...\")\napparently because the new single-idle-buddy model simply doesn\u0027t find\nidle CPU\u0027s to reschedule on aggressively enough.\n\nMike Galbraith suspects that it is likely due to the user-mode spinlocks\nin PostgreSQL not reacting well to preemption, but we don\u0027t really know\nthe details - I\u0027ll just revert the commit for now.\n\nThere are hopefully other approaches to improve scheduler scalability\nwithout it causing these kinds of downsides.\n\nReported-by: Nikolay Ulyanitsky \u003clystor@gmail.com\u003e\nBisected-by: Borislav Petkov \u003cbp@alien8.de\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b186b12487efc80c44f2f0d26cc26eb249cf1524",
      "tree": "e6ff10b5e12ffbbfdc4abaf88e4ad0e2a25146ef",
      "parents": [
        "d51f42d2c5b7e11b47876b8b5c53f0ac317fef24"
      ],
      "author": {
        "name": "Chanwoo Choi",
        "email": "cw00.choi@samsung.com",
        "time": "Tue Aug 21 15:16:23 2012 +0900"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Sep 16 00:33:09 2012 +0200"
      },
      "message": "mfd: MAX77693: Fix NULL pointer error when initializing irqs\n\nThis patch initialize register map of MUIC device because mfd driver\nof Maxim MAX77693 use regmap-muic instance of MUIC device when irqs of\nMaxim MAX77693 is initialized before call max77693-muic probe() function.\n\nSigned-off-by: Chanwoo Choi \u003ccw00.choi@samsung.com\u003e\nSigned-off-by: Myungjoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nReported-by: Sylwester Nawrocki \u003cs.nawrocki@samsung.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "d51f42d2c5b7e11b47876b8b5c53f0ac317fef24",
      "tree": "c017d042d4246b2a5ade7e526f17c3671ef08d11",
      "parents": [
        "0848c94fb4a5cc213a7fb0fb3a5721ad6e16f096"
      ],
      "author": {
        "name": "Chanwoo Choi",
        "email": "cw00.choi@samsung.com",
        "time": "Tue Aug 21 15:15:52 2012 +0900"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Sep 16 00:32:57 2012 +0200"
      },
      "message": "mfd: MAX77693: Fix interrupt handling bug\n\nThis patch fix bug related to interrupt handling for MAX77693 devices.\n- Unmask interrupt masking bit for charger/flash/muic to revolve\nthat interrupt isn\u0027t happened when external connector is attached.\n- Fix wrong regmap instance when muic interrupt is happened.\n\nThis patch were discussed and confirm discussion about this patch on below url:\nhttp://lkml.org/lkml/2012/7/16/118\n\nSigned-off-by: Chanwoo Choi \u003ccw00.choi@samsung.com\u003e\nSigned-off-by: Myungjoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "0848c94fb4a5cc213a7fb0fb3a5721ad6e16f096",
      "tree": "d529ea8370d62b7c3c1dfd42a6714c9bd052ef39",
      "parents": [
        "a0e35322910555e20e9eced3f050a76c7b3a1f92"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Sep 11 15:16:36 2012 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sat Sep 15 23:22:04 2012 +0200"
      },
      "message": "mfd: core: Push irqdomain mapping out into devices\n\nCurrently the MFD core supports remapping MFD cell interrupts using an\nirqdomain but only if the MFD is being instantiated using device tree\nand only if the device tree bindings use the pattern of registering IPs\nin the device tree with compatible properties.  This will be actively\nharmful for drivers which support non-DT platforms and use this pattern\nfor their DT bindings as it will mean that the core will silently change\nremapping behaviour and it is also limiting for drivers which don\u0027t do\nDT with this particular pattern.  There is also a potential fragility if\nthere are interrupts not associated with MFD cells and all the cells are\nomitted from the device tree for some reason.\n\nInstead change the code to take an IRQ domain as an optional argument,\nallowing drivers to take the decision about the parent domain for their\ninterrupts.  The one current user of this feature is ab8500-core, it has\nthe domain lookup pushed out into the driver.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "5d037f9064a8f3b9abbe383cdfb35e159d813711",
      "tree": "2a2445271ee818c360c42408a324d2945a6dd9f7",
      "parents": [
        "64f1e00d8edb54f5d25fb0114a46050fb8340df4",
        "985b11fa8064d55d0d5a84e68667434598911bb2"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Sat Sep 15 08:24:42 2012 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Sat Sep 15 08:24:42 2012 +0200"
      },
      "message": "Merge tag \u0027asoc-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus\n\nASoC: Updates for 3.6\n\nA bigger set of updates than I\u0027m entirely comfortable with - things\nbacked up a bit due to travel.  As ever the majority of these are small,\nfocused updates for specific drivers though there are a couple of core\nchanges.  There\u0027s been good exposure in -next.\n\nThe AT91 patch fixes a build break.\n"
    },
    {
      "commit": "3f0c3c8fe30c725c1264fb6db8cc4b69db3a658a",
      "tree": "43801cca275bf5364e20ceba609bcefc01782440",
      "parents": [
        "9cb0ee8576eabb52ad5aad347bf0aaf997975bba",
        "62e252eeefda62eb8cae9f4286270317ab8d5a42"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 14 18:05:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 14 18:05:14 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes\n\nPull GFS2 fixes from Steven Whitehouse:\n \"Here are three GFS2 fixes for the current kernel tree.  These are all\n  related to the block reservation code which was added at the merge\n  window.  That code will be getting an update at the forthcoming merge\n  window too.  In the mean time though there are a few smaller issues\n  which should be fixed.\n\n  The first patch resolves an issue with write sizes of greater than 32\n  bits with the size hinting code.  The second ensures that the\n  allocation data structure is initialised when using xattrs and the\n  third takes into account allocations which may have been made by other\n  nodes which affect a reservation on the local node.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes:\n  GFS2: Take account of blockages when using reserved blocks\n  GFS2: Fix missing allocation data for set/remove xattr\n  GFS2: Make write size hinting code common\n"
    }
  ],
  "next": "9cb0ee8576eabb52ad5aad347bf0aaf997975bba"
}
