)]}'
{
  "log": [
    {
      "commit": "9146ab5055152bbacb5690c384df2fd610fb3c68",
      "tree": "59594c1f94c39e06b4a9644643dc1062c4d8ba03",
      "parents": [
        "4f97615d19c370d1d907ef37f8bcd9c3672851ca"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 01 11:21:43 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 01 13:48:13 2012 -0400"
      },
      "message": "NFS: Read cleanups\n\nRemove unused variables, and reformat some code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\n"
    },
    {
      "commit": "4f97615d19c370d1d907ef37f8bcd9c3672851ca",
      "tree": "2940916463b7d665f396170623333a91caf1f007",
      "parents": [
        "292f3eeef00a20fa0ef4feec62792ad0065760a0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 18:39:20 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 18:39:20 2012 -0400"
      },
      "message": "NFS: Fix a compile issue when CONFIG_NFS_V4_1 is undefined\n\nstruct nfs_direct_req can\u0027t compile when struct pnfs_ds_commit_info\nis undefined.\n\nReported-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\n"
    },
    {
      "commit": "292f3eeef00a20fa0ef4feec62792ad0065760a0",
      "tree": "1bf0ff03bada0f78f214dddaf327a4c406bc5990",
      "parents": [
        "6d74743b088d116e31fe1b73f47e782ee2016b94"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 18:31:49 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 18:31:49 2012 -0400"
      },
      "message": "NFS: Use kmem_cache_zalloc() in nfs_direct_req_alloc\n\nSimplify the initialisation of O_DIRECT requests.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\n"
    },
    {
      "commit": "6d74743b088d116e31fe1b73f47e782ee2016b94",
      "tree": "a5bd52d4281795786b41153c50a4fb41ee8bd0c3",
      "parents": [
        "3e9e0ca3f19e911ce13c2e6c9858fcb41a37496c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 13:27:31 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 14:33:52 2012 -0400"
      },
      "message": "NFS: Simplify O_DIRECT page referencing\n\nThe O_DIRECT code shouldn\u0027t need to hold 2 references to each page. The\nreference held by the struct nfs_page should suffice.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\n"
    },
    {
      "commit": "3e9e0ca3f19e911ce13c2e6c9858fcb41a37496c",
      "tree": "714ead9c8f9fb7334b876717f85aa80b33be8871",
      "parents": [
        "71e8cc00c63e8518ce86b4079355fc9086a4869d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 13:40:06 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 14:33:51 2012 -0400"
      },
      "message": "NFS: O_DIRECT pgio_completion_ops error_cleanup must unlock the request\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\n"
    },
    {
      "commit": "71e8cc00c63e8518ce86b4079355fc9086a4869d",
      "tree": "c48dd887cbb8e3228652992acbfc558a1a066f0e",
      "parents": [
        "68cd6fa4f3be07ba648e22617dfa16a40d671d19"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 13:22:54 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 14:33:51 2012 -0400"
      },
      "message": "NFS: Ensure that we break out of read/write_schedule_segment on error\n\nCurrently we do break out of the for() loop, but we also need to\nbreak out of the enclosing do {} while()...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\n"
    },
    {
      "commit": "68cd6fa4f3be07ba648e22617dfa16a40d671d19",
      "tree": "6946e7ae1fd063d166066ab3f023ce42cdaa3ff0",
      "parents": [
        "24fc9211f4d48c04882a52e42b21c9b4abc4f9bf"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Mon Apr 30 14:30:22 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 14:32:36 2012 -0400"
      },
      "message": "NFS: Define dummy nfs_init_cinfo() and nfs_init_cinfo_from_inode()\n\nThese are needed when v3 and v4 are not enabled.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24fc9211f4d48c04882a52e42b21c9b4abc4f9bf",
      "tree": "c126dbd24e31cb02e5d752ab9eabea01f9dece14",
      "parents": [
        "b58fee2189b17719c846f65ffe9483c2814e6605"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Mon Apr 30 13:27:11 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 14:19:14 2012 -0400"
      },
      "message": "NFS: Define nfs_direct_write_schedule_work() when v3 and v4 are disabled\n\nv2 doesn\u0027t have commits, so this function can be a no-op.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b58fee2189b17719c846f65ffe9483c2814e6605",
      "tree": "e6f53d05db9c64d1e4900424ff1c7f68c43f6461",
      "parents": [
        "9b5415b536cc3193e9608a7fced1372df8ce4dcf"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Mon Apr 30 13:06:53 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 14:06:46 2012 -0400"
      },
      "message": "NFS: pnfs_pageio_init_read() and init_write() need an extra argument\n\nThis is only when CONFIG_NFS_V4_1 isn\u0027t enabled.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nAcked-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9b5415b536cc3193e9608a7fced1372df8ce4dcf",
      "tree": "02d031861e7fa008d02bb74f46f480aed521f445",
      "parents": [
        "80a16b21a81eb639f0b726549f4c46c0e9aff92e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:31:47 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 15:03:51 2012 -0400"
      },
      "message": "NFS: Fix a use-before-initialised warning in fs/nfs/write.c and fs/nfs/pnfs.c\n\nIf the allocation of nfs_write_header fails, the list of nfs_pages that\nneeds to be cleaned up is still on desc-\u003epg_list...\n\nReported-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Fred Isaman \u003ciisaman@netapp.com\u003e\n"
    },
    {
      "commit": "80a16b21a81eb639f0b726549f4c46c0e9aff92e",
      "tree": "5095cb05498d16e64976b03c38b3fcdaa83e4ecb",
      "parents": [
        "281cad46b34db4dbb1d1e603f7b9cfe25d1ae7c9"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Apr 27 13:27:46 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:39 2012 -0400"
      },
      "message": "NFS: Remove extra rpc_clnt argument to proc_lookup\n\nNow that I\u0027m doing secinfo automatically in the v4 code this extra\nargument isn\u0027t needed.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "281cad46b34db4dbb1d1e603f7b9cfe25d1ae7c9",
      "tree": "f13917030755776a4f80ffcc0d07c2b5da60066d",
      "parents": [
        "2671bfc3beb44e70636bd0208274426db57f73b5"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Apr 27 13:27:45 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:39 2012 -0400"
      },
      "message": "NFS: Create a submount rpc_op\n\nThis simplifies the code for v2 and v3 and gives v4 a chance to decide\non referrals without needing to modify the generic client.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2671bfc3beb44e70636bd0208274426db57f73b5",
      "tree": "5aeec6224c390a046bfa5758a958174ebf542772",
      "parents": [
        "df0117481cd94dbb8970f4be9d05b0568fa09ab1"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Apr 27 13:27:44 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:39 2012 -0400"
      },
      "message": "NFS: Remove secinfo knowledge out of the generic client\n\nAnd also remove the unneeded rpc_op.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "df0117481cd94dbb8970f4be9d05b0568fa09ab1",
      "tree": "8de0587b5e1be30510925392577e0ad8aac32bc4",
      "parents": [
        "1763da1234cba663b849476d451bdccac5147859"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Tue Apr 24 14:50:34 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:39 2012 -0400"
      },
      "message": "NFS: Prevent garbage cinfo-\u003eds from leaking out\n\nThis is a bugfix that applies on top of the previous directio patches,\nthat fixes a bug introduced in \"NFS: create struct nfs_commit_info\".\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1763da1234cba663b849476d451bdccac5147859",
      "tree": "b2b4bf3e1ce8624217c78508054fc620aac79a55",
      "parents": [
        "56f9cd684d25f1bae901c5a872b8427f8b417c3f"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:57 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:39 2012 -0400"
      },
      "message": "NFS: rewrite directio write to use async coalesce code\n\nThis also has the advantage that it allows directio to use pnfs.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "56f9cd684d25f1bae901c5a872b8427f8b417c3f",
      "tree": "3b909f475e6e88db67b01d9b39ebca54d20fc4d3",
      "parents": [
        "b359f9d09bcbaede09243cfe844172ba055d89fd"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:56 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:39 2012 -0400"
      },
      "message": "NFS: avoid some stat gathering for direct io\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b359f9d09bcbaede09243cfe844172ba055d89fd",
      "tree": "877bf10e68d09d15e042e28a8fbb0ac93136d64c",
      "parents": [
        "f453a54a01c7c0453ad9550906e3d2663dd486ac"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:55 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: add dreq to nfs_commit_info\n\nNeed this to pass into nfs_commitdata_init, in order to keep data-\u003edreq\naccurate.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f453a54a01c7c0453ad9550906e3d2663dd486ac",
      "tree": "1eac38e7e186ea0339066e7da417a20e0274b2c0",
      "parents": [
        "ea2cf2282b4278461266013e9c002ee1c66700ff"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:54 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: create nfs_commit_completion_ops\n\nFactors out the code that needs to change when directio\nstarts using these code paths.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ea2cf2282b4278461266013e9c002ee1c66700ff",
      "tree": "244de055925710de27206ee0d5d09caa6353bd62",
      "parents": [
        "84c53ab5c093058c756dcef1879d38be6de90a3c"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:53 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: create struct nfs_commit_info\n\nIt is COMMIT that is handled the most differently between\nthe paged and direct paths.  Create a structure that encapsulates\neverything either path needs to know about the commit state.\n\nWe could use void to hide some of the layout driver stuff, but\nTrond suggests pulling it out to ensure type checking, given the\nhuge changes being made, and the fact that it doesn\u0027t interfere\nwith other drivers.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "84c53ab5c093058c756dcef1879d38be6de90a3c",
      "tree": "7ded11d20d02ad5df31d8f1246844ad069776d97",
      "parents": [
        "584aa810b6240d88c28113a90c5029449814a3b5"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:52 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: create nfs_generic_commit_list\n\nSimple refactoring.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "584aa810b6240d88c28113a90c5029449814a3b5",
      "tree": "694b0942747c9ee7b8f53f21cb81ddc32cc07bbb",
      "parents": [
        "1825a0d08f22463e5a8f4b1636473efd057a3479"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:51 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: rewrite directio read to use async coalesce code\n\nThis also has the advantage that it allows directio to use pnfs.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1825a0d08f22463e5a8f4b1636473efd057a3479",
      "tree": "b010b2bbb71431802cb1714483b69060ce09ff39",
      "parents": [
        "9533da2979757258d3fd5429d830a297013d69ed"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 19:55:31 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: prepare coalesce testing for directio\n\nThe coalesce code made assumptions that will no longer be true once\nnon-page aligned io occurs.  This introduces no change in\ncurrent behavior, but allows for more general situations to come.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9533da2979757258d3fd5429d830a297013d69ed",
      "tree": "c35817f49943485506aba05d80fe298d7c50adf7",
      "parents": [
        "061ae2edb7375ab6776468b075da71008a098b55"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:49 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: remove unused wb_complete field from struct nfs_page\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "061ae2edb7375ab6776468b075da71008a098b55",
      "tree": "a34f25d4d85d90a196b058b879eef3ba374f6d16",
      "parents": [
        "6c75dc0d498caa402fb17b1bf769835a9db875c8"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:48 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: create completion structure to pass into page_init functions\n\nFactors out the code that will need to change when directio\nstarts using these code paths.  This will allow directio to use\nthe generic pagein and flush routines\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6c75dc0d498caa402fb17b1bf769835a9db875c8",
      "tree": "b367bb2428c011f20b8fd47a6dd0b8603ee136ba",
      "parents": [
        "4db6e0b74c0f6dfc2f9c0690e8df512e3b635983"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:47 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: merge _full and _partial write rpc_ops\n\nDecouple nfs_pgio_header and nfs_write_data, and have (possibly\nmultiple) nfs_write_datas each take a refcount on nfs_pgio_header.\n\nFor the moment keeps nfs_write_header as a way to preallocate a single\nnfs_write_data with the nfs_pgio_header.  The code doesn\u0027t need this,\nand would be prettier without, but given the amount of churn I am\nalready introducing I didn\u0027t want to play with tuning new mempools.\n\nThis also fixes bug in pnfs_ld_handle_write_error.  In the case of\ndesc-\u003epg_bsize \u003c PAGE_CACHE_SIZE, the pages list was empty, causing\nreplay attempt to do nothing.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4db6e0b74c0f6dfc2f9c0690e8df512e3b635983",
      "tree": "19d8a2a7051bdab220b0bdcf3da1e350a53ce428",
      "parents": [
        "30dd374f6fc1b202db3a1b57b61afff1326bad92"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:46 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: merge _full and _partial read rpc_ops\n\nDecouple nfs_pgio_header and nfs_read_data, and have (possibly\nmultiple) nfs_read_datas each take a refcount on nfs_pgio_header.\n\nFor the moment keeps nfs_read_header as a way to preallocate a single\nnfs_read_data with the nfs_pgio_header.  The code doesn\u0027t need this,\nand would be prettier without, but given the amount of churn I am\nalready introducing I didn\u0027t want to play with tuning new mempools.\n\nThis also fixes bug in pnfs_ld_handle_read_error.  In the case of\ndesc-\u003epg_bsize \u003c PAGE_CACHE_SIZE, the pages list was empty, causing\nreplay attempt to do nothing.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "30dd374f6fc1b202db3a1b57b61afff1326bad92",
      "tree": "7d3b631be897dd79a916ee8d410fd2bb92da4890",
      "parents": [
        "cd841605f7a721878d8a2d1362484723d8abf569"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:45 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: create struct nfs_page_array\n\nBoth nfs_read_data and nfs_write_data devote several fields which\ncan be combined into a single shared struct.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cd841605f7a721878d8a2d1362484723d8abf569",
      "tree": "b5c37db575cd545a183577249909e042fe38d646",
      "parents": [
        "b5542849764aa56fd3f05c0041195b637b9d2ac2"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:44 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: create common nfs_pgio_header for both read and write\n\nIn order to avoid duplicating all the data in nfs_read_data whenever we\nsplit it up into multiple RPC calls (either due to a short read result\nor due to rsize \u003c PAGE_SIZE), we split out the bits that are the same\nper RPC call into a separate \"header\" structure.\n\nThe goal this patch moves towards is to have a single header\nrefcounted by several rpc_data structures.  Thus, want to always refer\nfrom rpc_data to the header, and not the other way.  This patch comes\nclose to that ideal, but the directio code currently needs some\nspecial casing, isolated in the nfs_direct_[read_write]hdr_release()\nfunctions.  This will be dealt with in a future patch.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b5542849764aa56fd3f05c0041195b637b9d2ac2",
      "tree": "9a5e899eafd979e8a1d763461459c0f07f82b825",
      "parents": [
        "cd12ae326f5c040f61d64233514609adabe84ab8"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:43 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: use req_offset where appropriate\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cd12ae326f5c040f61d64233514609adabe84ab8",
      "tree": "075fb17f4da0340b96a02a32bc54e6ba1a5e639e",
      "parents": [
        "c5996c4efb95bbb80a25acc890357c9eae998eeb"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:42 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: remove unnecessary casts of void pointers in nfs4filelayout.c\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c5996c4efb95bbb80a25acc890357c9eae998eeb",
      "tree": "06f0955c48ba20ff1bd28da1261343cb4f2ab7ff",
      "parents": [
        "31f6852a4c187c031456581b35e146c0d5bbdecd"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:41 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: reverse arg order in nfs_initiate_[read|write]\n\nMake it consistent with nfs_initiate_commit.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "31f6852a4c187c031456581b35e146c0d5bbdecd",
      "tree": "5b3ec043c8c298c207b713aff405ecad6959a158",
      "parents": [
        "0b7c01533aa9f4a228d07d2768d084acb3a387bc"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:40 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: dprintks in directio code were referencing task after put\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0b7c01533aa9f4a228d07d2768d084acb3a387bc",
      "tree": "aa57b08ce42f1effea2294354e3c9770b70e7612",
      "parents": [
        "799ba8d53d32c84bd2a867ca2689538a48176140"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:39 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: add a struct nfs_commit_data to replace nfs_write_data in commits\n\nCommits don\u0027t need the vectors of pages, etc. that writes do. Split out\na separate structure for the commit operation.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "799ba8d53d32c84bd2a867ca2689538a48176140",
      "tree": "e17ad842898a2c9b63183f7a435c984191336859",
      "parents": [
        "1acbbb4e16209e85c35ff6cacad61d802c07289b"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:38 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:36 2012 -0400"
      },
      "message": "NFS4.1: Add lseg to struct nfs4_fl_commit_bucket\n\nAlso create a commit_info structure to hold the bucket array and push\nit up from the lseg to the layout where it really belongs.\n\nWhile we are at it, fix a refcounting bug due to an (incorrect)\nimplicit assumption that filelayout_scan_ds_commit_list always\ncompletely emptied the src list.\n\nThis clarifies refcounting, removes the ugly find_only_write_lseg\nfunctions, and pushes the file layout commit code along on the path to\nsupporting multiple lsegs.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1acbbb4e16209e85c35ff6cacad61d802c07289b",
      "tree": "37abc770218a11120fe4f10d5842835d270ce209",
      "parents": [
        "a20c6bec0b8ae775e2e8f350819cef98eea9a832"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:37 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:36 2012 -0400"
      },
      "message": "NFS4.1: make pnfs_ld_[read|write]_done consistent\n\nThe two functions had diverged quite a bit, with the write function\nbeing a bit more robust than the read.\n\nHowever, these still break badly in the desc-\u003epg_bsize \u003c PAGE_CACHE_SIZE case,\nas then there is nothing hanging on the data-\u003epages list, and the resend\nends up doing nothing.  This will be fixed in a patch later in the series.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a20c6bec0b8ae775e2e8f350819cef98eea9a832",
      "tree": "fd9b8278e6522b66c3b72ce308864d0f30884e67",
      "parents": [
        "e245d4250d0326cfcf7c816a2081b6ab2ea810be"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:36 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:36 2012 -0400"
      },
      "message": "NFS: grab open context in direct read\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e245d4250d0326cfcf7c816a2081b6ab2ea810be",
      "tree": "1424c497bdcd1305137b18201a3086a365595a72",
      "parents": [
        "7e6eb683d260d9325f0d1bd911518d5ed3cb4f0c"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Apr 27 13:27:43 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:03 2012 -0400"
      },
      "message": "NFS: Remove unused function nfs_lookup_with_sec()\n\nThis fixes a compiler warning.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7e6eb683d260d9325f0d1bd911518d5ed3cb4f0c",
      "tree": "51b22645b2e55cff65acf9feb0d9f43f44ed70d3",
      "parents": [
        "f05d147f7e3cf0d86b3a4bd5603029a7cb109633"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Apr 27 13:27:42 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:03 2012 -0400"
      },
      "message": "NFS: Honor the authflavor set in the clone mount data\n\nThe authflavor is set in an nfs_clone_mount structure and passed to the\nxdev_mount() functions where it was promptly ignored.  Instead, use it\nto initialize an rpc_clnt for the cloned server.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f05d147f7e3cf0d86b3a4bd5603029a7cb109633",
      "tree": "e351ef7dd3d541626f5cccef86f50906bfb3a649",
      "parents": [
        "72de53ec4bca39c26709122a8f78bfefe7b6bca4"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Apr 27 13:27:41 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:02 2012 -0400"
      },
      "message": "NFS: Fix following referral mount points with different security\n\nI create a new proc_lookup_mountpoint() to use when submounting an NFS\nv4 share.  This function returns an rpc_clnt to use for performing an\nfs_locations() call on a referral\u0027s mountpoint.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "72de53ec4bca39c26709122a8f78bfefe7b6bca4",
      "tree": "dac32c44281b153df7104037c1e97c11deffae69",
      "parents": [
        "db0a9593d52f935c80085d8993bdcead1ad30b0c"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Apr 27 13:27:40 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:02 2012 -0400"
      },
      "message": "NFS: Do secinfo as part of lookup\n\nWhenever lookup sees wrongsec do a secinfo and retry the lookup to find\nattributes of the file or directory, such as \"is this a referral\nmountpoint?\".  This also allows me to remove handling -NFS4ERR_WRONSEC\nas part of getattr xdr decoding.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "db0a9593d52f935c80085d8993bdcead1ad30b0c",
      "tree": "e0ca32d8d4366042479cb2a87d6fe87998a9849f",
      "parents": [
        "31e4dda4747713de13889f7c79c7aec341fea61b"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Apr 27 13:27:39 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:01 2012 -0400"
      },
      "message": "NFS: Handle exceptions coming out of nfs4_proc_fs_locations()\n\nWe don\u0027t want to return -NFS4ERR_WRONGSEC to the VFS because it could\ncause the kernel to oops.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "31e4dda4747713de13889f7c79c7aec341fea61b",
      "tree": "9ec536cc095e2e512d1863301dcf37ca92dde8b5",
      "parents": [
        "ea8cfa06795bb30d2ea61f503ef129284492c06a"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Apr 27 13:27:38 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:01 2012 -0400"
      },
      "message": "NFS: Fix SECINFO_NO_NAME\n\nI was using the same decoder function for SECINFO and SECINFO_NO_NAME,\nso it was returning an error when it tried to decode an OP_SECINFO_NO_NAME\nheader as OP_SECINFO.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ea8cfa06795bb30d2ea61f503ef129284492c06a",
      "tree": "48fb210bfaedbf1c488bc0b096f1591ce2c98495",
      "parents": [
        "37629b572cc4e80fc24b4139a24df1a89415d534"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Apr 27 13:00:17 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:00 2012 -0400"
      },
      "message": "SUNRPC: traverse clients tree on PipeFS event\n\nv2: recursion was replaced by loop\n\nIf client is a clone, then it\u0027s parent can not be in the list.\nBut parent\u0027s Pipefs dentries have to be created and destroyed.\n\nNote: event skip helper for clients introduced\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "37629b572cc4e80fc24b4139a24df1a89415d534",
      "tree": "49d77495315e93ad187467837779f88073c37f15",
      "parents": [
        "7aab449e5a2ebfa9c5116e87e16536bc4195e4de"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Apr 20 18:19:56 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:00 2012 -0400"
      },
      "message": "SUNRPC: set per-net PipeFS superblock before notification\n\nThere can be a case, when on MOUNT event RPC client (after it\u0027s dentries were\ncreated) is not longer hold by anyone except notification callback.\nI.e. on release this client will be destoroyed. And it\u0027s dentries have to be\ndestroyed as well. Which in turn requires per-net PipeFS superblock to be set.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7aab449e5a2ebfa9c5116e87e16536bc4195e4de",
      "tree": "c948a96ddd87c2ed708875c961c9e3577737ae08",
      "parents": [
        "a4dff1bc492ee4a2184d384ae8b5bcab5859e150"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Apr 20 18:19:18 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:09:59 2012 -0400"
      },
      "message": "SUNRPC: skip clients with program without PipeFS entries\n\n1) This is sane.\n2) Otherwise there will be soft lockup:\n\ndo {\n\trpc_get_client_for_event (clnt-\u003ecl_dentry \u003d\u003d NULL \u003d\u003d\u003e choose)\n\t__rpc_pipefs_event (clnt-\u003ecl_program-\u003epipe_dir_name \u003d\u003d NULL \u003d\u003d\u003e return)\n} while (1)\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a4dff1bc492ee4a2184d384ae8b5bcab5859e150",
      "tree": "b6bdb438cfa7c041d6e0a7b42f8c10c213961215",
      "parents": [
        "5794d21ef4639f0e33440927bb903f9598c21e92"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Apr 20 18:11:02 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:09:59 2012 -0400"
      },
      "message": "SUNRPC: skip dead but not buried clients on PipeFS events\n\nThese clients can\u0027t be safely dereferenced if their counter in 0.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5794d21ef4639f0e33440927bb903f9598c21e92",
      "tree": "d4bdbde63624df6e970751f46fd6fe0dacb8718c",
      "parents": [
        "5a00689930ab975fdd1b37b034475017e460cf2a"
      ],
      "author": {
        "name": "Sachin Prabhu",
        "email": "sprabhu@redhat.com",
        "time": "Tue Apr 17 14:36:40 2012 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:09:53 2012 -0400"
      },
      "message": "Avoid beyond bounds copy while caching ACL\n\nWhen attempting to cache ACLs returned from the server, if the bitmap\nsize + the ACL size is greater than a PAGE_SIZE but the ACL size itself\nis smaller than a PAGE_SIZE, we can read past the buffer page boundary.\n\nSigned-off-by: Sachin Prabhu \u003csprabhu@redhat.com\u003e\nReported-by: Jian Li \u003cjiali@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5a00689930ab975fdd1b37b034475017e460cf2a",
      "tree": "9cc6df10ac849488efe28ea811e55c213c22a754",
      "parents": [
        "10bd295a0b6488ebe634b72a11d8986bd3af3819"
      ],
      "author": {
        "name": "Sachin Prabhu",
        "email": "sprabhu@redhat.com",
        "time": "Tue Apr 17 14:35:39 2012 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 13:15:07 2012 -0400"
      },
      "message": "Avoid reading past buffer when calling GETACL\n\nBug noticed in commit\nbf118a342f10dafe44b14451a1392c3254629a1f\n\nWhen calling GETACL, if the size of the bitmap array, the length\nattribute and the acl returned by the server is greater than the\nallocated buffer(args.acl_len), we can Oops with a General Protection\nfault at _copy_from_pages() when we attempt to read past the pages\nallocated.\n\nThis patch allocates an extra PAGE for the bitmap and checks to see that\nthe bitmap + attribute_length + ACLs don\u0027t exceed the buffer space\nallocated to it.\n\nSigned-off-by: Sachin Prabhu \u003csprabhu@redhat.com\u003e\nReported-by: Jian Li \u003cjiali@redhat.com\u003e\n[Trond: Fixed a size_t vs unsigned int printk() warning]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "10bd295a0b6488ebe634b72a11d8986bd3af3819",
      "tree": "8c9fec0f15e1a64fe1d1aa58b42c61d8b2108666",
      "parents": [
        "e5265a0c587423bbd21a6b39a572cecff16b9346"
      ],
      "author": {
        "name": "Jim Rees",
        "email": "rees@umich.edu",
        "time": "Mon Apr 09 22:33:39 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 26 12:23:23 2012 -0400"
      },
      "message": "fix page number calculation bug for block layout decode buffer\n\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSuggested-by: Andy Adamson \u003candros@netapp.com\u003e\nSuggested-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e5265a0c587423bbd21a6b39a572cecff16b9346",
      "tree": "0ed40a362520b8ac6d2c001ca5280fd240fdb555",
      "parents": [
        "9526b2b6d6b9f183b66cf21c4afa6e79d5a14f44"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Sat Apr 14 03:56:35 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 26 12:23:23 2012 -0400"
      },
      "message": "NFSv4.1 fix page number calculation bug for filelayout decode buffers\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9526b2b6d6b9f183b66cf21c4afa6e79d5a14f44",
      "tree": "d06b4a2020bd96c6c8fcb9aa306ccd7c93445637",
      "parents": [
        "1aba1567637b93eee32253b42deaaad381c3175b"
      ],
      "author": {
        "name": "Sachin Bhamare",
        "email": "sbhamare@panasas.com",
        "time": "Fri Mar 30 14:29:59 2012 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 26 12:15:51 2012 -0400"
      },
      "message": "pnfs-obj: Remove unused variable from objlayout_get_deviceinfo()\n\nLocal variable \u0027sb\u0027 was not being used in objlayout_get_deviceinfo().\n\nSigned-off-by: Sachin Bhamare \u003csbhamare@panasas.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1aba1567637b93eee32253b42deaaad381c3175b",
      "tree": "a1bc797ef749f93d39a2112022fefcb29bfa68f0",
      "parents": [
        "2300fd67b4f29eec19addb15a8571837228f63fc"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Tue Apr 24 16:50:37 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 26 12:11:29 2012 -0400"
      },
      "message": "nfs4: fix referrals on mounts that use IPv6 addrs\n\nAll referrals (IPv4 addr, IPv6 addr, and DNS) are broken on mounts of\nIPv6 addresses, because validation code uses a path that is parsed\nfrom the dev_name (\"\u003cserver\u003e:\u003cpath\u003e\") by splitting on the first colon and\ncolons are used in IPv6 addrs.\nThis patch ignores colons within IPv6 addresses that are escaped by \u0027[\u0027 and \u0027]\u0027.\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2300fd67b4f29eec19addb15a8571837228f63fc",
      "tree": "5f2cfcc87f81ff9fa607ab45c1f0a9adf644cc76",
      "parents": [
        "86ec090e58fca1025676e775093a87ab699f7f4d",
        "7bf97bc27308cfdc7a8dadd40ae50f7c4cb09b01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:38:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:38:44 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.4-3\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client bugfixes from Trond Myklebust:\n - Fix NFSv4 infinite loops on open(O_TRUNC)\n - Fix an Oops and an infinite loop in the NFSv4 flock code\n - Don\u0027t register the PipeFS filesystem until it has been set up\n - Fix an Oops in nfs_try_to_update_request\n - Don\u0027t reuse NFSv4 open owners: fixes a bad sequence id storm.\n\n* tag \u0027nfs-for-3.4-3\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  NFSv4: Keep dropped state owners on the LRU list for a while\n  NFSv4: Ensure that we don\u0027t drop a state owner more than once\n  NFSv4: Ensure we do not reuse open owner names\n  nfs: Enclose hostname in brackets when needed in nfs_do_root_mount\n  NFS: put open context on error in nfs_flush_multi\n  NFS: put open context on error in nfs_pagein_multi\n  NFSv4: Fix open(O_TRUNC) and ftruncate() error handling\n  NFSv4: Ensure that we check lock exclusive/shared type against open modes\n  NFSv4: Ensure that the LOCK code sets exception-\u003einode\n  NFS: check for req\u003d\u003dNULL in nfs_try_to_update_request cleanup\n  SUNRPC: register PipeFS file system after pernet sybsystem\n"
    },
    {
      "commit": "86ec090e58fca1025676e775093a87ab699f7f4d",
      "tree": "d3fb6c1898c8c1ea78462f0ec748c8da1086fff0",
      "parents": [
        "bdd4f709a1501055ccb24f204fb24dd653244fd8",
        "89b8835ec865dddd6673a8dd7003581bf2377176"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:29:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:29:26 2012 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 fixes from H. Peter Anvin.\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x32, siginfo: Provide proper overrides for x32 siginfo_t\n  asm-generic: Allow overriding clock_t and add attributes to siginfo_t\n  x32: Check __ILP32__ instead of __LP64__ for x32\n  x86, acpi: Call acpi_enter_sleep_state via an asmlinkage C function from assembler\n  ACPI: Convert wake_sleep_flags to a value instead of function\n  x86, apic: APIC code touches invalid MSR on P5 class machines\n  i387: ptrace breaks the lazy-fpu-restore logic\n  x86/platform: Remove incorrect error message in x86_default_fixup_cpu_id()\n  x86, efi: Add dedicated EFI stub entry point\n  x86/amd: Remove broken links from comment and kernel message\n  x86, microcode: Ensure that module is only loaded on supported AMD CPUs\n  x86, microcode: Fix sysfs warning during module unload on unsupported CPUs\n"
    },
    {
      "commit": "bdd4f709a1501055ccb24f204fb24dd653244fd8",
      "tree": "83d854f02dee4c2e56dbd8aad64bc9a86d52cd70",
      "parents": [
        "ce587e65e8c669eec61df7fb1c515720302e3cc0",
        "d62d421b071b08249361044d8e56c8b5c3ed6aa7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:28:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:28:10 2012 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://cavan.codon.org.uk/platform-drivers-x86\n\nPull x86 platform driver fixes from Matthew Garrett:\n \"One annoyance fix (make intel_ips stop complaining unnecessarily) and\n  one oops fix (unterminated list in dell-laptop).  Both have been in\n  -next for a while with no complaints.\"\n\n* \u0027for_linus\u0027 of git://cavan.codon.org.uk/platform-drivers-x86:\n  dell-laptop: Terminate quirks list properly\n  intel_ips: Hush the i915 symbols message\n"
    },
    {
      "commit": "ce587e65e8c669eec61df7fb1c515720302e3cc0",
      "tree": "fcda8e91609e1a74f629c1a7b0e95c3e76cab75e",
      "parents": [
        "4e1c2b284461fd8aa8d7b295a1e911fc4390755b"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Apr 24 20:22:33 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:22:35 2012 -0700"
      },
      "message": "mm: memcg: move pc lookup point to commit_charge()\n\nNone of the callsites actually need the page_cgroup descriptor\nthemselves, so just pass the page and do the look up in there.\n\nWe already had two bugs (6568d4a \u0027mm: memcg: update the correct soft\nlimit tree during migration\u0027 and \u0027memcg: fix Bad page state after\nreplace_page_cache\u0027) where the passed page and pc were not referring\nto the same page frame.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e1c2b284461fd8aa8d7b295a1e911fc4390755b",
      "tree": "f51ab604d23af8ac0f6087516f877af5604c3477",
      "parents": [
        "af3a3ab2966112c0d0a44df7eeb1e95fe32d4495"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 25 16:10:50 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:18:01 2012 -0700"
      },
      "message": "mm: nobootmem: Correct alloc_bootmem semantics.\n\nThe comments above __alloc_bootmem_node() claim that the code will\nfirst try the allocation using \u0027goal\u0027 and if that fails it will\ntry again but with the \u0027goal\u0027 requirement dropped.\n\nUnfortunately, this is not what the code does, so fix it to do so.\n\nThis is important for nobootmem conversions to architectures such\nas sparc where MAX_DMA_ADDRESS is infinity.\n\nOn such architectures all of the allocations done by generic spots,\nsuch as the sparse-vmemmap implementation, will pass in:\n\n\t__pa(MAX_DMA_ADDRESS)\n\nas the goal, and with the limit given as \"-1\" this will always fail\nunless we add the appropriate fallback logic here.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af3a3ab2966112c0d0a44df7eeb1e95fe32d4495",
      "tree": "82b8d00bdbb6d88eb5ba353de8a3fe2e2ad55269",
      "parents": [
        "423b40e194a8ad8f7cc15cc38bd18633891a04ad",
        "4c569a72c30dfee9b5133284aba67e3aa0c9505d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 24 08:22:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 24 08:22:25 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\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes:\n  GFS2: Instruct DLM to avoid queue convert slowdown\n"
    },
    {
      "commit": "423b40e194a8ad8f7cc15cc38bd18633891a04ad",
      "tree": "c2252ac61f575576d6ffa50689cb5b08876afff0",
      "parents": [
        "95f714727436836bb46236ce2bcd8ee8f9274aed",
        "24b7099af71232b7568acd74770e6eb8f174f5d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 24 08:20:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 24 08:20:28 2012 -0700"
      },
      "message": "Merge tag \u0027hsi_fixes_for_3.4\u0027 of git://gitorious.org/kernel-hsi/kernel-hsi\n\nPull HSI fixes and ABI documentation from Carlos Chinea\n\n* tag \u0027hsi_fixes_for_3.4\u0027 of git://gitorious.org/kernel-hsi/kernel-hsi:\n  HSI: Add HSI ABI documentation\n  HSI: hsi_char: Remove max_data_size from sysfs\n  HSI: hsi: Rework hsi_event interface\n  HSI: hsi: Remove controllers and ports from the bus\n  HSI: hsi: Fix error path cleanup on client registration\n  HSI: hsi: Rework hsi_controller release\n"
    },
    {
      "commit": "4c569a72c30dfee9b5133284aba67e3aa0c9505d",
      "tree": "774da90a4b3be800de638d6b2cda4ab7e15a3720",
      "parents": [
        "95f714727436836bb46236ce2bcd8ee8f9274aed"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Apr 10 14:45:24 2012 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Apr 24 13:26:50 2012 +0100"
      },
      "message": "GFS2: Instruct DLM to avoid queue convert slowdown\n\nThis patch instructs DLM to prevent an \"in place\" conversion, where the\nlock just stays on the granted queue, and instead forces the conversion to\nthe back of the convert queue. This is done on upward conversions only.\n    \nThis is useful in cases where, for example, a lock is frequently needed in\nPR on one node, but another node needs it temporarily in EX to update it.\nThis may happen, for example, when the rindex is being updated by gfs2_grow.\nThe gfs2_grow needs to have the lock in EX, but the other nodes need to\nre-read it to retrieve the updates. The glock is already granted in PR on\nthe non-growing nodes, so this prevents them from continually re-granting\nthe lock in PR, and forces the EX from gfs2_grow to go through.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "95f714727436836bb46236ce2bcd8ee8f9274aed",
      "tree": "200ea790bf3299c9120b65b890ac85f56337d848",
      "parents": [
        "ce1ee9f5b99fa4ba332692194aa57b604112762f",
        "db7e5c668e1b16061fe2d94d3cba022dd360c5d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 19:52:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 19:52:00 2012 -0700"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 bug fixes from Ted Ts\u0027o:\n \"These are two low-risk bug fixes for ext4, fixing a compile warning\n  and a potential deadlock.\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  super.c: unused variable warning without CONFIG_QUOTA\n  jbd2: use GFP_NOFS for blkdev_issue_flush\n"
    },
    {
      "commit": "ce1ee9f5b99fa4ba332692194aa57b604112762f",
      "tree": "99440af5e5d90133b5417472277ff790caa3fdb4",
      "parents": [
        "4d634ca35a8b38530b134ae92bc9e3cc9c23c030",
        "e00574b7f3181c5277df819e960d5af205e0e87a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 19:50:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 19:50:48 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel\n\nPull Hexagon fixes from Richard Kuo:\n \"It\u0027s mostly compile fixes and the Hexagon portion of a CPU hotplug\n  patch set.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel:\n  hexagon: add missing cpu.h include\n  hexagon/CPU hotplug: Add missing call to notify_cpu_starting()\n  hexagon:  use renamed tick_nohz_idle_* functions\n  Hexagon: misc compile warning/error cleanup due to missing headers\n"
    },
    {
      "commit": "4d634ca35a8b38530b134ae92bc9e3cc9c23c030",
      "tree": "a200b0cf656bf4c61bfbcb2e22bb5f9a23b43ce8",
      "parents": [
        "d2da626d6cb5df2c5d4222168c91ddf765aa4354",
        "e88aa7bbbe3046a125ea1936b16bb921cc9c6349"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 19:45:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 19:45:19 2012 -0700"
      },
      "message": "Merge branch \u0027rc-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild\n\nPull build system failure fix from Michal Marek:\n \"This fixes build failure with newer gcc that adds some internal\n  symbols that end in \"__mod_*_device_table\", but are not actually the\n  tables themselves.\"\n\n* \u0027rc-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:\n  Fix modpost failures in fedora 17\n"
    },
    {
      "commit": "db7e5c668e1b16061fe2d94d3cba022dd360c5d4",
      "tree": "942cb61ff0c34ccbf73184c99114bc44c92ccc5d",
      "parents": [
        "99aa78466777083255b876293e9e83dec7cd809a"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Sun Apr 22 17:50:52 2012 +0200"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Apr 23 21:44:41 2012 -0400"
      },
      "message": "super.c: unused variable warning without CONFIG_QUOTA\n\nsb info is only checked with quota support.\n\nfs/ext4/super.c: In function ‘parse_options’:\nfs/ext4/super.c:1600:23: warning: unused variable ‘sbi’ [-Wunused-variable]\n\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "99aa78466777083255b876293e9e83dec7cd809a",
      "tree": "e15bd88760cb27bb306929b19ba41abc53e0e333",
      "parents": [
        "57f73c2c89a5d3b2ed87201c8100d1fa989a1a65"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shli@kernel.org",
        "time": "Fri Apr 13 10:27:35 2012 +0800"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Apr 23 21:43:41 2012 -0400"
      },
      "message": "jbd2: use GFP_NOFS for blkdev_issue_flush\n\nflush request is issued in transaction commit code path, so looks using\nGFP_KERNEL to allocate memory for flush request bio falls into the classic\ndeadlock issue.  I saw btrfs and dm get it right, but ext4, xfs and md are\nusing GFP.\n\nSigned-off-by: Shaohua Li \u003cshli@fusionio.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "d2da626d6cb5df2c5d4222168c91ddf765aa4354",
      "tree": "920867db0e41b6d7f40a546265054ab53f7ce6b5",
      "parents": [
        "721b024bd47c1e4b995e7eeb6455b714b817ad60",
        "30b8aa9172dfeaac6d77897c67ee9f9fc574cdbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 18:25:01 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 18:25:01 2012 -0700"
      },
      "message": "Merge tag \u0027md-3.4-fixes\u0027 of git://neil.brown.name/md\n\nPull a few more md bug fixes from NeilBrown:\n \"2 are tagged for -stable, one being for a fairly serious bug that can\n  corrupt metadata and make it hard to recovery an array.  The other is\n  for a more recent regression since 3.3\"\n\n* tag \u0027md-3.4-fixes\u0027 of git://neil.brown.name/md:\n  md: fix possible corruption of array metadata on shutdown.\n  md: don\u0027t call -\u003eadd_disk unless there is good reason.\n  DM RAID: Use safe version of rdev_for_each\n"
    },
    {
      "commit": "721b024bd47c1e4b995e7eeb6455b714b817ad60",
      "tree": "15e3374ad054cc9ecbea56a86c1ff0b3f94a3b1c",
      "parents": [
        "aca50bd3b4c4bb5528a1878158ba7abce41de534",
        "53ad1c980d4fb450722a575ca17c188808939340"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 18:22:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 18:22:42 2012 -0700"
      },
      "message": "Merge tag \u0027dlm-fixes-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm\n\nPull dlm fixes from David Teigland:\n \"This includes one short patch fixing the behavior of the QUECVT flag,\n  which the gfs2 folks are waiting on.\"\n\n* tag \u0027dlm-fixes-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:\n  dlm: fix QUECVT when convert queue is empty\n"
    },
    {
      "commit": "aca50bd3b4c4bb5528a1878158ba7abce41de534",
      "tree": "697c1d89d8d8a75878dc5c5c70aeb14cd72f80fa",
      "parents": [
        "e895bd7992df1ebd1e0c28f7965520482bc83b74"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Apr 23 11:14:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 18:19:22 2012 -0700"
      },
      "message": "mm: fix s390 BUG by __set_page_dirty_no_writeback on swap\n\nMel reports a BUG_ON(slot \u003d\u003d NULL) in radix_tree_tag_set() on s390\n3.0.13: called from __set_page_dirty_nobuffers() when page_remove_rmap()\ntries to transfer dirty flag from s390 storage key to struct page and\nradix_tree.\n\nThat would be because of reclaim\u0027s shrink_page_list() calling\nadd_to_swap() on this page at the same time: first PageSwapCache is set\n(causing page_mapping(page) to appear as \u0026swapper_space), then\npage-\u003eprivate set, then tree_lock taken, then page inserted into\nradix_tree - so there\u0027s an interval before taking the lock when the\nradix_tree slot is empty.\n\nWe could fix this by moving __add_to_swap_cache()\u0027s spin_lock_irq up\nbefore the SetPageSwapCache.  But a better fix is simply to do what\u0027s\nfive years overdue: Ken Chen introduced __set_page_dirty_no_writeback()\n(if !PageDirty TestSetPageDirty) for tmpfs to skip all the radix_tree\noverhead, and swap is just the same - it ignores the radix_tree tag, and\ndoes not participate in dirty page accounting, so should be using\n__set_page_dirty_no_writeback() too.\n\ns390 testing now confirms that this does indeed fix the problem.\n\nReported-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ken Chen \u003ckenchen@google.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89b8835ec865dddd6673a8dd7003581bf2377176",
      "tree": "b226173ae33d4711626ea41e8ab5d98765a10862",
      "parents": [
        "d643bdca8ab9cd333da1b68267d0e47328e56f56"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Apr 23 16:34:12 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Apr 23 18:11:40 2012 -0700"
      },
      "message": "x32, siginfo: Provide proper overrides for x32 siginfo_t\n\nProvide the proper override macros for x32 siginfo_t.  The combination\nof a special type here and an overall alignment constraint actually\nends up with all the types being properly aligned, but the hack is\nneeded to keep the substructures inside siginfo_t from adding padding.\n\nNote: use __attribute__((aligned())) since __aligned() is not exported\nto user space.\n\n[ v2: fix stray semicolon ]\n\nReported-by: H.J. Lu \u003chjl.rools@gmail.com\u003e\nCc: Bruce J. Beare \u003cbruce.j.beare@intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLink: http://lkml.kernel.org/r/CAMe9rOqF6Kh6-NK7oP0Fpzkd4SBAWU%2BG53hwBbSD4iA2UzyxuA@mail.gmail.com\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "30b8aa9172dfeaac6d77897c67ee9f9fc574cdbb",
      "tree": "d950c723e17399fefd104c5eddcf514d7f3c240a",
      "parents": [
        "ed209584c38fb74b7eecc03e5b1bfe674e591bd8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Apr 24 10:23:16 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Apr 24 10:23:16 2012 +1000"
      },
      "message": "md: fix possible corruption of array metadata on shutdown.\n\ncommit c744a65c1e2d59acc54333ce8\n  md: don\u0027t set md arrays to readonly on shutdown.\n\nremoved the possibility of a \u0027BUG\u0027 when data is written to an array\nthat has just been switched to read-only, but also introduced the\npossibility that the array metadata could be corrupted.\n\nIf, when md_notify_reboot gets the mddev lock, the array is\nin a state where it is assembled but hasn\u0027t been started (as can\nhappen if the personality module is not available, or in other unusual\nsituations), then incorrect metadata will be written out making it\nimpossible to re-assemble the array.\n\nSo only call __md_stop_writes() if the array has actually been\nactivated.\n\nThis patch is needed for any stable kernel which has had the above\ncommit applied.\n\nCc: stable@vger.kernel.org\nReported-by: Christoph Nelles \u003cevilazrael@evilazrael.de\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "ed209584c38fb74b7eecc03e5b1bfe674e591bd8",
      "tree": "a232bb4fbf3a2e143ad57dfa3acad92418c5b12c",
      "parents": [
        "a9ad8526bb1af0741a5c0e01155dac08e7bdde60"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Apr 24 10:23:14 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Apr 24 10:23:14 2012 +1000"
      },
      "message": "md: don\u0027t call -\u003eadd_disk unless there is good reason.\n\nCommit 7bfec5f35c68121e7b18\n\n   md/raid5: If there is a spare and a want_replacement device, start replacement.\n\ncause md_check_recovery to call -\u003eadd_disk much more often.\nInstead of only when the array is degraded, it is now called whenever\nmd_check_recovery finds anything useful to do, which includes\nupdating the metadata for clean\u003c-\u003edirty transition.\nThis causes unnecessary work, and causes info messages from -\u003eadd_disk\nto be reported much too often.\n\nSo refine md_check_recovery to only do any actual recovery checking\n(including -\u003eadd_disk) if MD_RECOVERY_NEEDED is set.\n\nThis fix is suitable for 3.3.y:\n\nCc: stable@vger.kernel.org\nReported-by: Jan Ceuleers \u003cjan.ceuleers@computer.org\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "a9ad8526bb1af0741a5c0e01155dac08e7bdde60",
      "tree": "4e82b35b644eab0aacc6c7d16b2cb7794f106cb5",
      "parents": [
        "afbaa90b80b1ec66e5137cc3824746bfdf559b18"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Tue Apr 24 10:23:13 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Apr 24 10:23:13 2012 +1000"
      },
      "message": "DM RAID: Use safe version of rdev_for_each\n\nFix segfault caused by using rdev_for_each instead of rdev_for_each_safe\n\nCommit dafb20fa34320a472deb7442f25a0c086e0feb33 mistakenly replaced a safe\niterator with an unsafe one when making some macro changes.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d643bdca8ab9cd333da1b68267d0e47328e56f56",
      "tree": "59fa93e4f8e51fcbd862aeeef25d026d19c18459",
      "parents": [
        "98e5272fe70d62e193f70acf9951667beab27aba"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Apr 23 16:29:18 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Apr 23 16:29:18 2012 -0700"
      },
      "message": "asm-generic: Allow overriding clock_t and add attributes to siginfo_t\n\nFor the particular issue of x32, which shares code with i386 in the\nhandling of compat_siginfo_t, the use of a 64-bit clock_t bumps the\nsigchld structure out of alignment, which triggers a messy cascade of\npadding.\n\nThis was already handled on the kernel compat side, but it needs\nhandling on the user space side, which uses the generic header.  To\nmake that possible:\n\n1. Allow __kernel_clock_t to be overridden in struct siginfo;\n2. Allow there to be attributes added to struct siginfo.\n\nReported-by: H.J. Lu \u003chjl.rools@gmail.com\u003e\nCc: Bruce J. Beare \u003cbruce.j.beare@intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLink: http://lkml.kernel.org/r/CAMe9rOqF6Kh6-NK7oP0Fpzkd4SBAWU%2BG53hwBbSD4iA2UzyxuA@mail.gmail.com\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "98e5272fe70d62e193f70acf9951667beab27aba",
      "tree": "1eaaffa263b36e2ab0cc4dab8a46c9e6b48adb8b",
      "parents": [
        "cd74257b974d6d26442c97891c4d05772748b177"
      ],
      "author": {
        "name": "H.J. Lu",
        "email": "hjl.tools@gmail.com",
        "time": "Mon Apr 23 14:51:14 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Apr 23 14:51:14 2012 -0700"
      },
      "message": "x32: Check __ILP32__ instead of __LP64__ for x32\n\nCheck __LP64__ isn\u0027t a reliable way to tell if we are compiling for x32\nsince __LP64__ isnn\u0027t specified by x86-64 psABI.  Not all x86-64\ncompilers define __LP64__, which was added to GCC 3.3. The updated x32\npsABI:\n\nhttps://sites.google.com/site/x32abi/documents\n\ndefinse _ILP32 and __ILP32__ for x32.  GCC trunk and 4.7 branch have\nbeen updated to define _ILP32 and __ILP32__ for x32.  This patch\nreplaces __LP64__ check with __ILP32__.\n\nSigned-off-by: H.J. Lu \u003chjl.tools@gmail.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "cd74257b974d6d26442c97891c4d05772748b177",
      "tree": "34c75749c74fd83193bf0ef56e8e7e40787a9bca",
      "parents": [
        "2a14e541ed87bca0c125b82961ca3c6f808607d2"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Sun Apr 22 23:03:18 2012 -0400"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Apr 23 13:29:18 2012 -0700"
      },
      "message": "x86, acpi: Call acpi_enter_sleep_state via an asmlinkage C function from assembler\n\nWith commit a2ef5c4fd44ce3922435139393b89f2cce47f576\n\"ACPI: Move module parameter gts and bfs to sleep.c\" the\nwake_sleep_flags is required when calling acpi_enter_sleep_state.\n\nThe assembler code in wakeup_*.S did not do that. One solution\nis to call it from assembler and stick the wake_sleep_flags on\nthe stack (for 32-bit) or in %esi (for 64-bit). hpa and rafael\nboth suggested however to create a wrapper function to call\nacpi_enter_sleep_state and call said wrapper function\n(\"acpi_enter_s3\") from assembler.\n\nFor 32-bit, the acpi_enter_s3 ends up looking as so:\n\n  push   %ebp\n  mov    %esp,%ebp\n  sub    $0x8,%esp\n  movzbl 0xc1809314,%eax [wake_sleep_flags]\n  movl   $0x3,(%esp)\n  mov    %eax,0x4(%esp)\n  call   0xc12d1fa0 \u003cacpi_enter_sleep_state\u003e\n  leave\n  ret\n\nAnd 64-bit:\n\n  movzbl 0x9afde1(%rip),%esi        [wake_sleep_flags]\n  push   %rbp\n  mov    $0x3,%edi\n  mov    %rsp,%rbp\n  callq  0xffffffff812e9800 \u003cacpi_enter_sleep_state\u003e\n  leaveq\n  retq\n\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSuggested-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n[v2: Remove extra assembler operations, per hpa review]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nLink: http://lkml.kernel.org/r/1335150198-21899-3-git-send-email-konrad.wilk@oracle.com\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "2a14e541ed87bca0c125b82961ca3c6f808607d2",
      "tree": "ceef81f47794797056245f8f557f5ede1ceea3ec",
      "parents": [
        "cbf2829b61c136edcba302a5e1b6b40e97d32c00"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Sun Apr 22 23:03:17 2012 -0400"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Apr 23 13:29:07 2012 -0700"
      },
      "message": "ACPI: Convert wake_sleep_flags to a value instead of function\n\nWith commit a2ef5c4fd44ce3922435139393b89f2cce47f576\n\"ACPI: Move module parameter gts and bfs to sleep.c\" the wake_sleep_flags\nis required when calling acpi_enter_sleep_state, which means\nthat if there are functions outside the sleep.c code they\ncan\u0027t get the wake_sleep_flags values.\n\nThis converts the function in to a exported value and converts\nthe module config operands to a function.\n\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Lin Ming \u003cming.m.lin@intel.com\u003e\n[v2: Parameters can be turned on/off dynamically]\n[v3: unsigned char -\u003e u8]\n[v4: val -\u003e kp-\u003earg]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nLink: http://lkml.kernel.org/r/1335150198-21899-2-git-send-email-konrad.wilk@oracle.com\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "e00574b7f3181c5277df819e960d5af205e0e87a",
      "tree": "95574936aca4240047784da122b892104c9d4412",
      "parents": [
        "57f27cca7ab59cec05adc85cef97e9b4f7d28d78"
      ],
      "author": {
        "name": "Richard Kuo",
        "email": "rkuo@codeaurora.org",
        "time": "Thu Apr 12 15:57:33 2012 -0500"
      },
      "committer": {
        "name": "Richard Kuo",
        "email": "rkuo@codeaurora.org",
        "time": "Mon Apr 23 12:57:24 2012 -0500"
      },
      "message": "hexagon: add missing cpu.h include\n\nSigned-off-by: Richard Kuo \u003crkuo@codeaurora.org\u003e\n"
    },
    {
      "commit": "57f27cca7ab59cec05adc85cef97e9b4f7d28d78",
      "tree": "132f2baff23e21c6c6e2e73b2e3285317a36c0cf",
      "parents": [
        "e8e42a5cff0704e83151455307a9b0d78fb43b93"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu Mar 22 16:58:25 2012 +0530"
      },
      "committer": {
        "name": "Richard Kuo",
        "email": "rkuo@codeaurora.org",
        "time": "Mon Apr 23 12:57:11 2012 -0500"
      },
      "message": "hexagon/CPU hotplug: Add missing call to notify_cpu_starting()\n\nThe scheduler depends on receiving the CPU_STARTING notification, without\nwhich we end up into a lot of trouble. So add the missing call to\nnotify_cpu_starting() in the bringup code.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Richard Kuo \u003crkuo@codeaurora.org\u003e\n"
    },
    {
      "commit": "e8e42a5cff0704e83151455307a9b0d78fb43b93",
      "tree": "e5e0bc899504705abfe5293b4a2c169bd1182f59",
      "parents": [
        "6bbbc30ce6b0ae428575c8af7c2a6c342c534e19"
      ],
      "author": {
        "name": "Richard Kuo",
        "email": "rkuo@codeaurora.org",
        "time": "Wed Mar 07 15:27:23 2012 -0600"
      },
      "committer": {
        "name": "Richard Kuo",
        "email": "rkuo@codeaurora.org",
        "time": "Mon Apr 23 12:56:57 2012 -0500"
      },
      "message": "hexagon:  use renamed tick_nohz_idle_* functions\n\nSigned-off-by: Richard Kuo \u003crkuo@codeaurora.org\u003e\n"
    },
    {
      "commit": "6bbbc30ce6b0ae428575c8af7c2a6c342c534e19",
      "tree": "12836a589989eefaf6552e90a395eebcfcfef0cd",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Richard Kuo",
        "email": "rkuo@codeaurora.org",
        "time": "Tue Nov 15 16:58:11 2011 -0600"
      },
      "committer": {
        "name": "Richard Kuo",
        "email": "rkuo@codeaurora.org",
        "time": "Mon Apr 23 12:56:41 2012 -0500"
      },
      "message": "Hexagon: misc compile warning/error cleanup due to missing headers\n\nFixed warnings/errors for EXPORT_SYMBOL, linux_binprm, elf related\ndefines\n\nSigned-off-by: Richard Kuo \u003crkuo@codeaurora.org\u003e\n"
    },
    {
      "commit": "53ad1c980d4fb450722a575ca17c188808939340",
      "tree": "9c9829d7aff8eab4b7c407f51227ed873b3df1bb",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Apr 04 09:49:15 2012 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 23 11:30:59 2012 -0500"
      },
      "message": "dlm: fix QUECVT when convert queue is empty\n\nThe QUECVT flag should not prevent conversions from\nbeing granted immediately when the convert queue is\nempty.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "24b7099af71232b7568acd74770e6eb8f174f5d6",
      "tree": "70cc5ed3f30622743f137db7dc3ed9c8e156668e",
      "parents": [
        "fdadb6e9a5cf65c7662b2ca817856f187d05ab7d"
      ],
      "author": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Fri Apr 13 15:55:13 2012 +0300"
      },
      "committer": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Mon Apr 23 14:23:32 2012 +0300"
      },
      "message": "HSI: Add HSI ABI documentation\n\nAdds sysfs HSI framework documentation\n\nSigned-off-by: Carlos Chinea \u003ccarlos.chinea@nokia.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "fdadb6e9a5cf65c7662b2ca817856f187d05ab7d",
      "tree": "f1dee4d73e6ff868d9c986bc9aa936bef82aed69",
      "parents": [
        "ec1c56ff813a198d656d4aa42e5de03e45751bf8"
      ],
      "author": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Fri Apr 13 16:03:03 2012 +0300"
      },
      "committer": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Mon Apr 23 14:23:32 2012 +0300"
      },
      "message": "HSI: hsi_char: Remove max_data_size from sysfs\n\nRemove max_data_size sysfs entry. Otherwise is possible\nto have a buffer overrun if its value is increased after\nthe device is open.\n\nSigned-off-by: Carlos Chinea \u003ccarlos.chinea@nokia.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "ec1c56ff813a198d656d4aa42e5de03e45751bf8",
      "tree": "b066f0a692454be661907d6ab91b4194f09c0fca",
      "parents": [
        "6f02b9e9b44a3bfc0046da3ff2707dae0b5e2f30"
      ],
      "author": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Wed Apr 11 10:55:53 2012 +0300"
      },
      "committer": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Mon Apr 23 14:23:32 2012 +0300"
      },
      "message": "HSI: hsi: Rework hsi_event interface\n\nRemove custom hack and make use of the notifier chain interfaces for\ndelivering events from the ports to their associated clients.\nClients that want to receive port events need to register their callbacks\nusing hsi_register_port_event(). The callbacks can be called in interrupt\ncontext. Use hsi_unregestier_port_event() to undo the registration.\n\nSigned-off-by: Carlos Chinea \u003ccarlos.chinea@nokia.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "6f02b9e9b44a3bfc0046da3ff2707dae0b5e2f30",
      "tree": "350b12ed6499da8eae5c1656f3edbe2266d08b1f",
      "parents": [
        "90e41f9dc75b47ab94e2191e4c86aa8259699a33"
      ],
      "author": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Tue Apr 10 15:11:24 2012 +0300"
      },
      "committer": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Mon Apr 23 14:23:32 2012 +0300"
      },
      "message": "HSI: hsi: Remove controllers and ports from the bus\n\nHSI controllers and ports do not belong to the HSI bus.\nThose devices are not supposed to have a driver attached to them.\n\nSigned-off-by: Carlos Chinea \u003ccarlos.chinea@nokia.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "90e41f9dc75b47ab94e2191e4c86aa8259699a33",
      "tree": "fa163ec22d60c9c8f270fca4f31c2bf39aae4acd",
      "parents": [
        "5a218ceba7b64f506bf4f004b04bb457c1805a62"
      ],
      "author": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Wed Apr 11 11:01:11 2012 +0300"
      },
      "committer": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Mon Apr 23 14:23:31 2012 +0300"
      },
      "message": "HSI: hsi: Fix error path cleanup on client registration\n\nHSI client structure should be freed on error path after\ncalling device_registration by dropping a reference to it.\n\nSigned-off-by: Carlos Chinea \u003ccarlos.chinea@nokia.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "5a218ceba7b64f506bf4f004b04bb457c1805a62",
      "tree": "f1f123391bbebd8c6136e9118bf8a2f6b0c49734",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Wed Apr 04 14:11:45 2012 +0300"
      },
      "committer": {
        "name": "Carlos Chinea",
        "email": "carlos.chinea@nokia.com",
        "time": "Mon Apr 23 14:23:31 2012 +0300"
      },
      "message": "HSI: hsi: Rework hsi_controller release\n\nUse the proper release mechanism for hsi_controller and\nhsi_ports structures. Free the structures through their\nassociated device release callbacks.\n\nSigned-off-by: Carlos Chinea \u003ccarlos.chinea@nokia.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "e895bd7992df1ebd1e0c28f7965520482bc83b74",
      "tree": "a8865ff1eddead072a0509b6eab42836eba53862",
      "parents": [
        "205b9c9c6eb9c309759ff1e52ffa85ae8965b382",
        "3cd88f993e8b24855ed135b36bc6ed53dff38f08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 22 21:19:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 22 21:19:15 2012 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull ARM fixes from Russell King:\n \"Here\u0027s my usual Sunday push, just for one revert which PeterZ hollered\n  about after last weeks push.  Other than that, all seems strangely\n  quiet as far as fixes go in non-platform ARM land at the moment.\"\n\n* \u0027fixes\u0027 of git://git.linaro.org/people/rmk/linux-arm:\n  Revert \"ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus\"\n"
    },
    {
      "commit": "205b9c9c6eb9c309759ff1e52ffa85ae8965b382",
      "tree": "4ca6761d0fd5bc5b04bd2b059bfe8cbd59c067f6",
      "parents": [
        "7e296295437d3e54662e9e217fb20330e3c38f6f",
        "446f6d06fab0b49c61887ecbe8286d6aaa796637"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 22 21:07:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 22 21:07:51 2012 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nPull powerpc fixes from Benjamin Herrenschmidt:\n \"Here are a few fixes for powerpc.  Note the addition to the generic\n  irq.h.  This is part of a 3-patches regression fix for mpic due to\n  changes in how IRQ_TYPE_NONE is being handled.  Thomas agreed to the\n  addition of the new IRQ_TYPE_DEFAULT contant, however he hasn\u0027t\n  replied with an Ack to the actual patch yet.  I don\u0027t to wait much\n  longer with these patches tho.\"\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/mpic: Properly set default triggers\n  irq: Add IRQ_TYPE_DEFAULT for use by PIC drivers\n  powerpc/mpic: Fix confusion between hw_irq and virq\n  powerpc/pmac: Don\u0027t add_timer() twice\n  powerpc/eeh: Fix crash caused by null eeh_dev\n  powerpc/mpc85xx: add MPIC message dts node\n  powerpc/mpic_msgr: fix offset error when setting mer register\n  powerpc/mpic_msgr: add lock for MPIC message global variable\n  powerpc/mpic_msgr: fix compile error when SMP disabled\n  powerpc: fix build when CONFIG_BOOKE_WDT is enabled\n  powerpc/85xx: don\u0027t call of_platform_bus_probe() twice\n"
    },
    {
      "commit": "7e296295437d3e54662e9e217fb20330e3c38f6f",
      "tree": "ff3385c8a7615f9fa1c8fe1b6bc0406559afe62f",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c",
        "d135c522f1234f62e81be29cebdf59e9955139ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 22 21:02:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 22 21:02:57 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Fix namespace init and cleanup in phonet to fix some oopses, from\n    Eric W. Biederman.\n\n 2) Missing kfree_skb() in AF_KEY, from Julia Lawall.\n\n 3) Refcount leak and source address handling fix in l2tp from James\n    Chapman.\n\n 4) Memory leak fix in CAIF from Tomasz Gregorek.\n\n 5) When routes are cloned from ipv6 addrconf routes, we don\u0027t process\n    expirations properly.  Fix from Gao Feng.\n\n 6) Fix panic on DMA errors in atl1 driver, from Tony Zelenoff.\n\n 7) Only enable interrupts in 8139cp driver after we\u0027ve registered the\n    IRQ handler.  From Jason Wang.\n\n 8) Fix too many reads of KS_CIDER register in ks8851 during probe,\n    fixing crashes on spurious interrupts.  From Matt Renzelmann.\n\n 9) Missing include in ath5k driver and missing iounmap on probe\n    failure, from Jonathan Bither.\n\n10) Fix RX packet handling in smsc911x driver, from Will Deacon.\n\n11) Fix ixgbe WoL on fiber by leaving the laser on during shutdown.\n\n12) ks8851 needs MAX_RECV_FRAMES increased otherwise the internal MAC\n    buffers are easily overflown.  Fix from Davide Cimingahi.\n\n13) Fix memory leaks in peak_usb CAN driver, from Jesper Juhl.\n\n14) gred packet scheduler can dump in WRED more when doing a netlink\n    dump.  Fix from David Ward.\n\n15) Fix MTU in USB smsc75xx driver, from Stephane Fillod.\n\n16) Dummy device needs -\u003endo_uninit handler to properly handle\n    -\u003endo_init failures.  From Hiroaki SHIMODA.\n\n17) Fix TX fragmentation in ath9k driver, from Sujith Manoharan.\n\n18) Missing RTNL lock in ixgbe PM resume, from Benjamin Poirier.\n\n19) Missing iounmap in farsync WAN driver, from Julia Lawall.\n\n20) With LRO/GRO, tcp_grow_window() is easily tricked into not growing\n    the receive window properly, and this hurts performance.  Fix from\n    Eric Dumazet.\n\n21) Network namespace init failure can leak net_generic data, fix from\n    Julian Anastasov.\n\n22) Fix skb_over_panic due to mis-accounting in TCP for partially ACK\u0027d\n    SKBs.  From Eric Dumazet.\n\n23) New IDs for qmi_wwan driver, from Bjørn Mork.\n\n24) Fix races in ax25_exit(), from Eric W. Biederman.\n\n25) IPV6 TCP doesn\u0027t handle TCP_MAXSEG socket option properly, copy over\n    logic from the IPV4 side.  From Neal Cardwell.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (59 commits)\n  tcp: fix TCP_MAXSEG for established IPv6 passive sockets\n  drivers/net: Do not free an IRQ if its request failed\n  drop_monitor: allow more events per second\n  ks8851: Fix request_irq/free_irq mismatch\n  net/hyperv: Adding cancellation to ensure rndis filter is closed\n  ks8851: Fix mutex deadlock in ks8851_net_stop()\n  net ax25: Reorder ax25_exit to remove races.\n  icplus: fix interrupt for IC+ 101A/G and 1001LF\n  net: qmi_wwan: support Sierra Wireless MC77xx devices in QMI mode\n  bnx2x: off by one in bnx2x_ets_e3b0_sp_pri_to_cos_set()\n  ksz884x: don\u0027t copy too much in netdev_set_mac_address()\n  tcp: fix retransmit of partially acked frames\n  netns: do not leak net_generic data on failed init\n  net/sock.h: fix sk_peek_off kernel-doc warning\n  tcp: fix tcp_grow_window() for large incoming frames\n  drivers/net/wan/farsync.c: add missing iounmap\n  davinci_mdio: Fix MDIO timeout check\n  ipv6: clean up rt6_clean_expires\n  ipv6: fix rt6_update_expires\n  arcnet: rimi: Fix device name in debug output\n  ...\n"
    },
    {
      "commit": "446f6d06fab0b49c61887ecbe8286d6aaa796637",
      "tree": "6aacba1bd15a3e85b7a4b655ab2164aa75261488",
      "parents": [
        "3fca40c704dd013797f2c0c518f37cd2cc8e19fe"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Apr 19 17:30:57 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 23 11:04:30 2012 +1000"
      },
      "message": "powerpc/mpic: Properly set default triggers\n\nThis gets rid of the unused default senses array, and replaces the\nincorrect use of IRQ_TYPE_NONE with the new IRQ_TYPE_DEFAULT for\nthe initial set_trigger() call when mapping an interrupt.\n\nThis in turn makes us read the HW state and update the irq desc\naccordingly.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "3fca40c704dd013797f2c0c518f37cd2cc8e19fe",
      "tree": "250169398a74aca872c11717135f84826cbfbdad",
      "parents": [
        "3a2b4f7c355ff1c97e4adebadf0a1aefd7c4518a"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Apr 19 17:29:42 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 23 11:04:29 2012 +1000"
      },
      "message": "irq: Add IRQ_TYPE_DEFAULT for use by PIC drivers\n\nThis is meant typically to allow a PIC driver\u0027s irq domain map() callback\nto establish sane defaults for the interrupt (and make sure that the HW\nand the irq_desc are in sync as far as the trigger is concerned).\n\nThe irq core may not call the set_trigger callback if it thinks the\ntrigger is already set to the right setting, so we need to ensure new\ndescriptors are properly synchronized with the hardware.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "3a2b4f7c355ff1c97e4adebadf0a1aefd7c4518a",
      "tree": "bf2817fc3b25792e67ce95914e0939521e2cf07e",
      "parents": [
        "3027691e58bfb21f6ea2e9f1d225d11b4e2b20e2"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Apr 19 17:29:34 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 23 11:04:29 2012 +1000"
      },
      "message": "powerpc/mpic: Fix confusion between hw_irq and virq\n\nmpic_is_ipi() takes a virq and immediately converts it to a hw_irq.\n\nHowever, one of the two call sites calls it with a ... hw_irq. The\nother call site also happens to have the hw_irq at hand, so let\u0027s\nchange it to just take that as an argument. Also change mpic_is_tm()\nfor consistency.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "3027691e58bfb21f6ea2e9f1d225d11b4e2b20e2",
      "tree": "4ff705ce7b3b9b51563777b584d90cf4d0b1a348",
      "parents": [
        "2ef822c55371b20548d4f58193c580407a5d738d"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Apr 18 22:16:48 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 23 11:04:28 2012 +1000"
      },
      "message": "powerpc/pmac: Don\u0027t add_timer() twice\n\nIf the interrupt and the timeout happen roughly at the same\ntime, we can get into a situation where the timer function\nis run while the interrupt has already been processed. In\nthis case, the timer function might end up doing an add_timer\non an already pending timer, causing a BUG_ON() to trigger.\n\nInstead, just skip the whole timeout operation if we see that\nthe timer is pending. The spinlock ensures that the only way\nthat happens is if we already started a new operation and thus\nthe timeout can be ignored.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "2ef822c55371b20548d4f58193c580407a5d738d",
      "tree": "e2f9c3fe5f761dda21ecfa4ee3bb91b5f16ce428",
      "parents": [
        "aec49c7c0e9d2abe88a3d7bc700fca66f05fd67d"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "shangw@linux.vnet.ibm.com",
        "time": "Mon Apr 16 19:55:39 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 23 11:04:28 2012 +1000"
      },
      "message": "powerpc/eeh: Fix crash caused by null eeh_dev\n\nThe problem was reported by Anton Blanchard. While EEH error\nhappened to the PCI device without the corresponding device\ndriver, kernel crash was seen. Eventually, I successfully\nreproduced the problem on Firebird-L machine with utility\n\"errinjct\". Initially, the device driver for Emulex ethernet\nMAC has been disabled from .config and force data parity on\nthe Emulex ethernet MAC with help of \"errinjct\". Eventually,\nI saw the kernel crash after issueing couple of \"lspci -v\"\ncommand.\n\nThe root cause behind is that the PCI device, including the\nreference to the corresponding eeh device, will be removed\nfrom the system while EEH does recovery. Afterwards, the\nPCI device will be probed again and added into the system\naccordingly. So it\u0027s not safe to retrieve the eeh device from\nthe corresponding PCI device after the PCI device has been removed\nand not added again.\n\nThe patch fixes the issue and retrieve the eeh device from OF node\ninstead of PCI device after the PCI device has been removed.\n\nSigned-off-by: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\nTested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "aec49c7c0e9d2abe88a3d7bc700fca66f05fd67d",
      "tree": "aac7ff987592f8040ce68d5a28ece5fa4cb0fc50",
      "parents": [
        "932e9f352b5d685725076f21b237f7c7d804b29c",
        "4351f30a35b8c6a6b6d4d36e5c2dc8ec0262b2ca"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 23 10:55:20 2012 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 23 10:55:20 2012 +1000"
      },
      "message": "Merge remote-tracking branch \u0027kumar/merge\u0027 into merge\n"
    },
    {
      "commit": "d135c522f1234f62e81be29cebdf59e9955139ad",
      "tree": "7e151f3995d6a30499c2bec2c07b2bf68754788e",
      "parents": [
        "163faf31778e536ac6125bc8b14f4667adc910e9"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Sun Apr 22 09:45:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 22 17:09:35 2012 -0400"
      },
      "message": "tcp: fix TCP_MAXSEG for established IPv6 passive sockets\n\nCommit f5fff5d forgot to fix TCP_MAXSEG behavior IPv6 sockets, so IPv6\nTCP server sockets that used TCP_MAXSEG would find that the advmss of\nchild sockets would be incorrect. This commit mirrors the advmss logic\nfrom tcp_v4_syn_recv_sock in tcp_v6_syn_recv_sock. Eventually this\nlogic should probably be shared between IPv4 and IPv6, but this at\nleast fixes this issue.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66f75a5d028beaf67c931435fdc3e7823125730c",
      "tree": "f012c28e447ce6b960cb4b9755977d2ec365d83e",
      "parents": [
        "e9a5ea1852cd8d7e155d2e3a45e4a6ea25110f7d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 14:47:52 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 14:47:52 2012 -0700"
      },
      "message": "Linux 3.4-rc4\n"
    },
    {
      "commit": "163faf31778e536ac6125bc8b14f4667adc910e9",
      "tree": "6d32a170b6a840600fd2a0243f358587665c1691",
      "parents": [
        "bbe362be5368b9f531b95a4a9b502ae2832e1dac"
      ],
      "author": {
        "name": "Lee Jones",
        "email": "lee.jones@linaro.org",
        "time": "Thu Apr 19 10:36:33 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 16:41:11 2012 -0400"
      },
      "message": "drivers/net: Do not free an IRQ if its request failed\n\nRefrain from attempting to free an interrupt line if the request\nfails and hence, there is no IRQ to free.\n\nCC: netdev@vger.kernel.org\nSigned-off-by: Lee Jones \u003clee.jones@linaro.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9a5ea1852cd8d7e155d2e3a45e4a6ea25110f7d",
      "tree": "105afb0311f8e1365c83c2b189479a89f6a0e5af",
      "parents": [
        "8f4f9d4d3cb84686a75f6195b8f8705376763fc7"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang@windriver.com",
        "time": "Thu Apr 19 20:28:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 16:35:06 2012 -0400"
      },
      "message": "sparc32,leon: add notify_cpu_starting()\n\nOtherwise cpu_active_mask will not set, which lead to other issue.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Konrad Eisele \u003ckonrad@gaisler.com\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "bbe362be5368b9f531b95a4a9b502ae2832e1dac"
}
