)]}'
{
  "log": [
    {
      "commit": "1f4e0ff07980820977f45d6a5dbc81d3bb9ce4d3",
      "tree": "5b5a159add010d09ea58ca12fd079b16f05333b8",
      "parents": [
        "e49e582965b3694f07a106adc83ddb44aa4f0890"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:16 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:16 2012 +0100"
      },
      "message": "dm thin: commit before gathering status\n\nCommit outstanding metadata before returning the status for a dm thin\npool so that the numbers reported are as up-to-date as possible.\n\nThe commit is not performed if the device is suspended or if\nthe DM_NOFLUSH_FLAG is supplied by userspace and passed to the target\nthrough a new \u0027status_flags\u0027 parameter in the target\u0027s dm_status_fn.\n\nThe userspace dmsetup tool will support the --noflush flag with the\n\u0027dmsetup status\u0027 and \u0027dmsetup wait\u0027 commands from version 1.02.76\nonwards.\n\nTested-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "e49e582965b3694f07a106adc83ddb44aa4f0890",
      "tree": "fcc6ff02fd4bd9afa59b5fd3bdbb9991f1271d8a",
      "parents": [
        "da105ed5fd7edcc5e0df7dbacef4dadda74e7ebe"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:16 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:16 2012 +0100"
      },
      "message": "dm thin: add read only and fail io modes\n\nAdd read-only and fail-io modes to thin provisioning.\n\nIf a transaction commit fails the pool\u0027s metadata device will transition\nto \"read-only\" mode.  If a commit fails once already in read-only mode\nthe transition to \"fail-io\" mode occurs.\n\nOnce in fail-io mode the pool and all associated thin devices will\nreport a status of \"Fail\".\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "da105ed5fd7edcc5e0df7dbacef4dadda74e7ebe",
      "tree": "2db9643e499e9bc9d38c7ccc4a00e01d875150c7",
      "parents": [
        "12ba58af46e5973822f1cfaaf5f29a2a17a523bf"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:15 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:15 2012 +0100"
      },
      "message": "dm thin metadata: introduce dm_pool_abort_metadata\n\nIntroduce dm_pool_abort_metadata to abort the current metadata\ntransaction.  Generally this will only be called when bad things are\nhappening and dm-thin is trying to roll back to a good state for\nread-only mode.\n\nIt\u0027s complicated by the fact that the metadata device may have failed\ncompletely causing the abort to be unable to read the old transaction.\nIn this case the metadata object is placed in a \u0027fail\u0027 mode and\neverything fails apart from destroying it.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "12ba58af46e5973822f1cfaaf5f29a2a17a523bf",
      "tree": "4641ca8730db9c61a34052cf267765305323b896",
      "parents": [
        "310975573ba40ab526b0d76d28225d8d0999d72b"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:15 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:15 2012 +0100"
      },
      "message": "dm thin metadata: introduce dm_pool_metadata_set_read_only\n\nIntroduce dm_pool_metadata_set_read_only to put the underlying block\nmanager into read-only mode.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "310975573ba40ab526b0d76d28225d8d0999d72b",
      "tree": "3ad362bb4fc0c70662c7337723222df16611f2eb",
      "parents": [
        "4afdd680f7c106e1c87b6dd7af9751c282ecb4b0"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:15 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:15 2012 +0100"
      },
      "message": "dm persistent data: introduce dm_bm_set_read_only\n\nIntroduce dm_bm_set_read_only to switch the block manager into a\nread-only mode.  To be used when dm-thin degrades due to io errors on\nthe metadata device.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4afdd680f7c106e1c87b6dd7af9751c282ecb4b0",
      "tree": "b5afcd97153a4a9e70823a2d0d2c33bfc2b51926",
      "parents": [
        "40db5a537655aa0b17a82a4b5596f8d27400edd8"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:14 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:14 2012 +0100"
      },
      "message": "dm thin: reduce number of metadata commits\n\nReduce the number of metadata commits by using\ndm_thin_changed_this_transaction to check if metadata was changed on a\nper thin device granularity.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "40db5a537655aa0b17a82a4b5596f8d27400edd8",
      "tree": "5e9d59aac1c42d949b47c962d4ee24b4287d23fa",
      "parents": [
        "66b1edc05e3f4c1227f51e40f2ead3e973c00cb0"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:14 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:14 2012 +0100"
      },
      "message": "dm thin metadata: add dm_thin_changed_this_transaction\n\nIntroduce dm_thin_changed_this_transaction to dm-thin-metadata to publish a\nuseful bit of information we\u0027re already tracking.  This will help dm thin\ndecide when to commit.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "66b1edc05e3f4c1227f51e40f2ead3e973c00cb0",
      "tree": "e9c549057d91f1bb57755b1ac0a38512fcea3664",
      "parents": [
        "0fa5b17b08baa37919ddd21529081e3090d47de5"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:14 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:14 2012 +0100"
      },
      "message": "dm thin metadata: add format option to dm_pool_metadata_open\n\nAdd a parameter to dm_pool_metadata_open to indicate whether or not an\nunformatted metadata area should be formatted.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "0fa5b17b08baa37919ddd21529081e3090d47de5",
      "tree": "f6e5ad3bf444e20856c4be52752056a4dfdd0973",
      "parents": [
        "d73ec52538041f29a8ae22bc72521222279439b9"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:14 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:14 2012 +0100"
      },
      "message": "dm thin metadata: tidy up open and format error paths\n\nTidy up error path in __open_metadata and __format_metadata in dm-thin-metadata.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d73ec52538041f29a8ae22bc72521222279439b9",
      "tree": "2bd99685c1e5b67f7486920d97d65295e4d61508",
      "parents": [
        "b79399510888998778ea6a3a281e30cbe59fdb37"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Jul 27 15:08:13 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:13 2012 +0100"
      },
      "message": "dm thin metadata: only check incompat features on open\n\nFactor out __check_incompat_features and only call it once when we open\nthe metadata device rather than at the beginning of every transaction.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b79399510888998778ea6a3a281e30cbe59fdb37",
      "tree": "eaec46591b4ed89a0d7deb4470fe948270ccb00e",
      "parents": [
        "8801e06945b6fec9927d5f7a04890a20061340c2"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:13 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:13 2012 +0100"
      },
      "message": "dm thin metadata: remove duplicate pmd initialisation\n\nRemove some duplicate initialisation of struct dm_pool_metadata.\n\nThese pmd fields are initialised by both:\n  __format_metadata\u0027s calls to dm_btree_empty\n  __write_initial_superblock + __begin_transaction\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8801e06945b6fec9927d5f7a04890a20061340c2",
      "tree": "5c21ddcc622ff3dbd1a9173b2d8f66ba119db272",
      "parents": [
        "237074c0a30ac017faaf5c3dfab01aff0c6bb03a"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:13 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:13 2012 +0100"
      },
      "message": "dm thin metadata: remove create parameter from __create_persistent_data_objects\n\nRemove \u0027create\u0027 parameter from __create_persistent_data_objects() in dm-thin-metadata.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "237074c0a30ac017faaf5c3dfab01aff0c6bb03a",
      "tree": "e980f9294638797fa8ef3412dd7036d56b19df1d",
      "parents": [
        "a97e5e6fd027840fc28c72470c581ba68ee9732a"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:13 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:13 2012 +0100"
      },
      "message": "dm thin metadata: move __superblock_all_zeroes to __open_or_format_metadata\n\nMove the check for __superblock_all_zeroes from\n__create_persistent_data_objects() down to __open_or_format_metadata in\ndm-thin-metadata.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a97e5e6fd027840fc28c72470c581ba68ee9732a",
      "tree": "58dea5e831eeb489572fb22cdb8b90f53851b28f",
      "parents": [
        "e4d2205cdf2094eb9f7246a4474f8df63806c1d3"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:12 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:12 2012 +0100"
      },
      "message": "dm thin metadata: remove nr_blocks arg from __create_persistent_data_objects\n\nRemove nr_blocks arg from __create_persistent_data_objects in dm-thin-metadata.\nIt was always passed as zero.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "e4d2205cdf2094eb9f7246a4474f8df63806c1d3",
      "tree": "b7e202a32d0ae8ee19d55dc895d3009345addd3e",
      "parents": [
        "d6332814e343c76097ff10ed8225069e6392022f"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:12 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:12 2012 +0100"
      },
      "message": "dm thin metadata: split __open or format metadata\n\nSplit __open_or_format_metadata into __format_metadata and __open_metadata in\ndm-thin-metadata.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d6332814e343c76097ff10ed8225069e6392022f",
      "tree": "dcd4c0a1db3f91e90cb985833dc3ab424e24a0ab",
      "parents": [
        "583ceee2ed1d171718aee348163f2ed25d461772"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:12 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:12 2012 +0100"
      },
      "message": "dm thin metadata: use struct dm_pool_metadata members in __open_or_format_metadata\n\nClean up __open_or_format_metadata in dm-thin-metadata by using struct\ndm_pool_metadata members to replace local variables.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "583ceee2ed1d171718aee348163f2ed25d461772",
      "tree": "997074e27de9a2f8204ad89751613eb46dea1d61",
      "parents": [
        "270938bac53b03b83b4b0b65b760f32975df72b1"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:11 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:11 2012 +0100"
      },
      "message": "dm thin metadata: zero unused superblock uuid\n\nZero the unused uuid when initialising the metadata superblock.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "270938bac53b03b83b4b0b65b760f32975df72b1",
      "tree": "bee95595b9ada2de4e7a0d132ef4928ccc4dc263",
      "parents": [
        "10d2a9ff7c37635619c4d03ca672ffbd58b9c3fa"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:11 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:11 2012 +0100"
      },
      "message": "dm thin metadata: lift __begin_transaction out of __write_initial_superblock\n\nLift the call to __begin_transaction out of __write_initial_superblock in\ndm-thin-metadata.  Called higher up the call chain now.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "10d2a9ff7c37635619c4d03ca672ffbd58b9c3fa",
      "tree": "70510cdf9135df151d41c11ef3caa792f168fb55",
      "parents": [
        "9cb6653f9a515f6cb0eaabfb27a2204b0aaf4e48"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:11 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:11 2012 +0100"
      },
      "message": "dm thin metadata: move dm_commit_pool_metadata into __write_initial_superblock\n\nMove dm_commit_pool_metadata inline into __write_initial_superblock in dm-thin-metadata.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "9cb6653f9a515f6cb0eaabfb27a2204b0aaf4e48",
      "tree": "4ee954b9f28e131ac1429b5f905f8688c1e8a921",
      "parents": [
        "6a0ebd31b6b504621254f5d453d618d36b0179a1"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:10 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:10 2012 +0100"
      },
      "message": "dm thin metadata: factor out __write_initial_superblock\n\nFactor out __write_initial_superblock and also pull some other initial\ncreation code out of dm_pool_metadata_open.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6a0ebd31b6b504621254f5d453d618d36b0179a1",
      "tree": "2c9620617b5302d0ab7432112e0be5f0918de7f6",
      "parents": [
        "f9dd9352b92cd66729fcb0f0e32f647e811d9083"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:10 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:10 2012 +0100"
      },
      "message": "dm thin metadata: lift some initialisation out of __open_or_format_metadata\n\nLift some initialisation out of __open_or_format_metadata in dm-thin-metadata.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f9dd9352b92cd66729fcb0f0e32f647e811d9083",
      "tree": "64a68b82471961a8b9c71ffb4dd7391ea9af617d",
      "parents": [
        "332627db00a982b395f5b141d50298866bfec98c"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:10 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:10 2012 +0100"
      },
      "message": "dm thin metadata: factor __destroy_persistent_data out of dm_pool_metadata_close\n\nFactor __destroy_persistent_data_objects out of dm_pool_metadata_close.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "332627db00a982b395f5b141d50298866bfec98c",
      "tree": "88a5925a0850719b52f67d63ae6e5098bbb894ce",
      "parents": [
        "77f49a402769f7db022935ef317f1c12c1c06319"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:10 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:10 2012 +0100"
      },
      "message": "dm thin metadata: move bm creation code into create_persistent_data_objects\n\nMove block manager creation and the check for unformatted metadata into\n__create_persistent_data_objects().\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "77f49a402769f7db022935ef317f1c12c1c06319",
      "tree": "6e30f001a9b855e15b83c61276c56378b3a9211c",
      "parents": [
        "2597119206405b9dbaee491e7c2389b7570b3227"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:10 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:10 2012 +0100"
      },
      "message": "dm thin metadata: rename init_pmd to __create_persistent_data_objects\n\nRename init_pmd to __create_persistent_data_objects in dm-thin-metadata.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "2597119206405b9dbaee491e7c2389b7570b3227",
      "tree": "e3b21489dd14fde4f8ed30c67f4431285c08852c",
      "parents": [
        "3c9ad9bd87b03032999ddbeb44bdf7938f7dbd57"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:09 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:09 2012 +0100"
      },
      "message": "dm thin metadata: wrap superblock locking\n\nIntroduce wrappers to handle write locking the superblock\nappropriately.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "3c9ad9bd87b03032999ddbeb44bdf7938f7dbd57",
      "tree": "358c25628410d272958baca08a1975a8b213f34b",
      "parents": [
        "384ef0e62e409e52c80adef5b1ff83075377c19e"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:09 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:09 2012 +0100"
      },
      "message": "dm persistent data: stop using dm_bm_unlock_move when shadowing blocks in tm\n\nStop using dm_bm_unlock_move when shadowing blocks in the transaction\nmanager as an optimisation and remove the function as it is then no\nlonger used.\n\nSome code, such as the space maps, keeps using on-disk data structures\nfrom the previous transaction.  It can do this because blocks won\u0027t\nbe reallocated until the subsequent transaction.  Using\ndm_bm_unlock_move to copy blocks sounds like a win, but it forces a\nsynchronous read should the old block be accessed.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "384ef0e62e409e52c80adef5b1ff83075377c19e",
      "tree": "734db218c323e88a303f64218661286f94f9e52a",
      "parents": [
        "eb04cf634fc2d5e3bc8fe88fbf434eda4921d875"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:09 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:09 2012 +0100"
      },
      "message": "dm persistent data: tidy transaction manager creation fns\n\nTidy the transaction manager creation functions.\n\nThey no longer lock the superblock.  Superblock locking is pulled out to\nthe caller.\n\nAlso export dm_bm_write_lock_zero.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "eb04cf634fc2d5e3bc8fe88fbf434eda4921d875",
      "tree": "92948b71b13387b85ec3da1b6471074df3cd6c07",
      "parents": [
        "51a0f659c03ccc8ec407c7a9f9701d1b4618d515"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:08 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:08 2012 +0100"
      },
      "message": "dm thin metadata: stop tracking need for commit\n\nRemove an optimisation that tracks whether or not a thin metadata commit\nis needed.\n\nIf dm_pool_commit_metadata() is called and no changes have been made\nto the metadata then this optimisation avoided writing to disk.\n\nRemoving because we\u0027re going to do something better later.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "51a0f659c03ccc8ec407c7a9f9701d1b4618d515",
      "tree": "21b05e433e1f513079e51d3ccec1da6b1ea1008f",
      "parents": [
        "41675aea32949786cf002c4ab179b85144d3423b"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:08 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:08 2012 +0100"
      },
      "message": "dm persistent data: create new dm_block_manager struct\n\nThis patch introduces a separate struct for the block_manager.\nIt also uses IS_ERR to check the return value of dm_bufio_client_create\ninstead of testing incorrectly for NULL.\n\nPrior to this patch a struct dm_block_manager was really an alias for\na struct dm_bufio_client.  We want to add some functionality to the\nblock manager that will require extra fields, so this one to one\nmapping is no longer valid.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "41675aea32949786cf002c4ab179b85144d3423b",
      "tree": "d721f9383bc9c7614106188f12e3781fe85dc3e4",
      "parents": [
        "0ac55489d9e3898987b2ae305844cf2af86e6b8d"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:08 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:08 2012 +0100"
      },
      "message": "dm thin metadata: factor __setup_btree_details out of init_pmd\n\nFactor __setup_btree_details out of init_pmd in dm-thin-metadata.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "0ac55489d9e3898987b2ae305844cf2af86e6b8d",
      "tree": "ceacdf378d929bd0037879f42ea6270bc5ba220d",
      "parents": [
        "16ad3d103dbec4fe6c5950d5a6c383ba9a5296ef"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:08 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:08 2012 +0100"
      },
      "message": "dm: use bool bitfields in struct dm_target\n\nUse boolean bit fields for flags in struct dm_target.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "16ad3d103dbec4fe6c5950d5a6c383ba9a5296ef",
      "tree": "90747a420fa5f27b1428514c231d4fb1a72b5b68",
      "parents": [
        "0e9c24ed7443d090e369a2eddfa13f7f0b5afbaf"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:07 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:07 2012 +0100"
      },
      "message": "dm thin: set flush_supported\n\nThe thin provisioning target commits internal metadata on flush.  So it\nshould receive flushes regardless of whether the underlying devices\nsupport them.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "0e9c24ed7443d090e369a2eddfa13f7f0b5afbaf",
      "tree": "707aed84bf17ee82bb32bb26e776b97afb3493fe",
      "parents": [
        "f4b90369d3a9ffe0f48f373c566578c142e95bf2"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:07 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:07 2012 +0100"
      },
      "message": "dm: allow targets to request flushes regardless of underlying device support\n\nAllow targets to override the \u0027supports flush\u0027 calculation.\n\nSet \u0027flush_supported\u0027 if a target needs to receive flushes regardless of\nwhether or not its underlying devices have support.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f4b90369d3a9ffe0f48f373c566578c142e95bf2",
      "tree": "a31918eb5bb8a8704bd24812496cf451d302c522",
      "parents": [
        "8d44c98aac540cdf3cb5385bc6ef8d56930c7d70"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:06 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:06 2012 +0100"
      },
      "message": "dm persistent data: only commit space map if index changed\n\nIntroduce bitmap_index_changed to track whether or not the index changed\nthen only commit a space map if it did.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8d44c98aac540cdf3cb5385bc6ef8d56930c7d70",
      "tree": "abc7ac2ad9e95a8110374596001c0af40db33683",
      "parents": [
        "600497013687516153cb82637acfe56f7eb9308a"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:06 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:06 2012 +0100"
      },
      "message": "dm persistent data: always unlock superblock in dm_bm_flush_and_unlock\n\nUnlock the superblock even if initial dm_bufio_write_dirty_buffers fails.\n\nAlso, remove redundant flush calls.  dm_bm_flush_and_unlock\u0027s calls to\ndm_bufio_write_dirty_buffers already result in dm_bufio_issue_flush\nbeing called.\n\nThis avoids warnings about unflushed dirty buffers from bufio.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "600497013687516153cb82637acfe56f7eb9308a",
      "tree": "d44382be55c68208ba7344dfaca8ade10e87c0d5",
      "parents": [
        "905386f82d08f66726912f303f3e6605248c60a3"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:06 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:06 2012 +0100"
      },
      "message": "dm thin: avoid unnecessarily breaking sharing for flushes\n\nThere\u0027s no need to break sharing, triggering a copy, for a write that has no\ndata (i.e. a flush).\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "905386f82d08f66726912f303f3e6605248c60a3",
      "tree": "183673431e4a0b76b90488447287cdcf53e1b695",
      "parents": [
        "c66029f4d4226452e9a7f468650aa1d553525b81"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:08:05 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:05 2012 +0100"
      },
      "message": "dm thin: fix memory leak in process_prepared_mapping error paths\n\nFix memory leak in process_prepared_mapping by always freeing\nthe dm_thin_new_mapping structs from the mapping_pool mempool on\nthe error paths.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c66029f4d4226452e9a7f468650aa1d553525b81",
      "tree": "6a84fca27904c2a41a6d61f9784bb78739608b8a",
      "parents": [
        "49a8a9204bb17296725058bbc7f31092d256be6e"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Jul 27 15:08:05 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:05 2012 +0100"
      },
      "message": "dm crypt: rename struct convert_context sector field\n\nRename sector to cc_sector in dm-crypt\u0027s convert_context struct.\n\nThis is preparation for a future patch that merges dm_io and\nconvert_context which both have a \"sector\" field.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "49a8a9204bb17296725058bbc7f31092d256be6e",
      "tree": "e63780cb17dad2ef375001833d73250c9adc07bb",
      "parents": [
        "fd2d231faf3ca25584d2320fdcd5a8b202342e46"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:05 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:05 2012 +0100"
      },
      "message": "dm crypt: store crypt_config instead of dm_target struct\n\nStore the crypt_config struct pointer directly in struct dm_crypt_io\ninstead of the dm_target struct pointer.\n\nTarget information is never used - only target-\u003eprivate is referenced,\nthus we can change it to point directly to struct crypt_config.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "fd2d231faf3ca25584d2320fdcd5a8b202342e46",
      "tree": "6ab9522f76d84c6c65e51ac3007b7435015314e7",
      "parents": [
        "40b6229b69211e24b46868675d4db1dab1a51d96"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Jul 27 15:08:05 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:05 2012 +0100"
      },
      "message": "dm crypt: move cipher data out of per_cpu struct\n\nMove static dm-crypt cipher data out of per-cpu structure.\n\nCipher information is static, so it does not have to be in a per-cpu\nstructure.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "40b6229b69211e24b46868675d4db1dab1a51d96",
      "tree": "a18bdc465b9f2d20da0ab4a939c6804b94335356",
      "parents": [
        "c039c332f23e794deb6d6f37b9f07ff3b27fb2cf"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Jul 27 15:08:04 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:04 2012 +0100"
      },
      "message": "dm crypt: rename pending field\n\nThere are two dm crypt structures that have a field called \"pending\".\n\nThis patch renames them to \"cc_pending\" and \"io_pending\" to reduce confusion\nand ease searching the code.\n\nAlso remove unnecessary initialisation of r in crypt_convert_block().\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c039c332f23e794deb6d6f37b9f07ff3b27fb2cf",
      "tree": "2b6bce014f9359e6152c957594aa86f9549f7dab",
      "parents": [
        "f999e8fe70bd0b8faa27ccdac14b5942999c6e78"
      ],
      "author": {
        "name": "Jonathan E Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Jul 27 15:08:04 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:04 2012 +0100"
      },
      "message": "dm raid: move sectors_per_dev calculation\n\nIn preparation for RAID10 inclusion in dm-raid, we move the sectors_per_dev\ncalculation later in the device creation process.  This is because we won\u0027t\nknow up-front how many stripes vs how many mirrors there are which will\nchange the calculation.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f999e8fe70bd0b8faa27ccdac14b5942999c6e78",
      "tree": "13963a8a5187719e11d5bd6271b6259e4d4b4d0a",
      "parents": [
        "a58a935d5a1b2ad267017a68c3a1bca26226cc76"
      ],
      "author": {
        "name": "Jonathan E Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Jul 27 15:08:04 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:04 2012 +0100"
      },
      "message": "dm raid: restructure parse_raid_params\n\nIn preparation for RAID10 addition to dm-raid, we change an \u0027if\u0027 conditional\nto a \u0027switch\u0027 conditional to make it easier to see what is being checked for\neach RAID type.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a58a935d5a1b2ad267017a68c3a1bca26226cc76",
      "tree": "fdd8a467d0817266a2d6e72eb92c03aedcf8aa9a",
      "parents": [
        "f9a8e0cd261fc05820539b0ea613686a32795406"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Jul 27 15:08:04 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:04 2012 +0100"
      },
      "message": "dm mpath: add retain_attached_hw_handler feature\n\nA SCSI device handler might get attached to a device during the\ninitial device scan.  We do not necessarily want to override\nthis when loading a multipath table, so this patch adds a new\nmultipath feature argument \"retain_attached_hw_handler\".\n\nDuring SCSI device scan all loaded SCSI device handlers will be\nconsulted for a match (via scsi_dh\u0027s provided .match).  If a match is\nfound that device handler will be attached.  We need a way to have\nuserspace multipathd\u0027s provided \u0027hw_handler\u0027 not override the already\nattached hardware handler.\n\nWhen specifying the new feature \u0027retain_attached_hw_handler\u0027 multipath\nwill use the currently attached hardware handler instead of trying to\nattach the one specified during table load.  If no hardware handler is\nattached the specified hardware handler will still be used.\n\nLeverages scsi_dh_attach\u0027s ability to increment the scsi_dh\u0027s reference\ncount if the same scsi_dh name is provided when attaching - currently\nattached scsi_dh name is determined with scsi_dh_attached_handler_name.\n\nDepends upon commit 7e8a74b177f17d100916b6ad415450f7c9508691\n(\"[SCSI] scsi_dh: add scsi_dh_attached_handler_name\").\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nTested-by: Babu Moger \u003cbabu.moger@netapp.com\u003e\nReviewed-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nAcked-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f9a8e0cd261fc05820539b0ea613686a32795406",
      "tree": "0edf941f787dd10dd674111cfefbde5004348ef4",
      "parents": [
        "4929630901100fdbfa19186ecf5ea2706f57719b"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Jul 27 15:08:03 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:03 2012 +0100"
      },
      "message": "dm thin: optimize power of two block size\n\ndm-thin will be most likely used with a block size that is a power of\ntwo. So it should be optimized for this case.\n\nThis patch changes division and modulo operations to shifts and bit\nmasks if block size is a power of two.\n\nA test that bi_sector is divisible by a block size is removed from\nio_overlaps_block. Device mapper never sends bios that span a block\nboundary. Consequently, if we tested that bi_size is equivalent to block\nsize, bi_sector must already be on a block boundary.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4929630901100fdbfa19186ecf5ea2706f57719b",
      "tree": "d12aaec9ccae4fb91eb55271fc8f987db0bbce96",
      "parents": [
        "7acf0277cea0f2da89ffffcc9892bea23f618e63"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Jul 27 15:08:03 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:03 2012 +0100"
      },
      "message": "dm thin: split discards on block boundary\n\nThis patch sets the variable \"ti-\u003esplit_discard_requests\" for the dm thin\ntarget so that device mapper core splits discard requests on a block\nboundary.\n\nConsequently, a discard request that spans multiple blocks is never sent\nto dm-thin. The patch also removes some code in process_discard that\ndeals with discards that span multiple blocks.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7acf0277cea0f2da89ffffcc9892bea23f618e63",
      "tree": "5f5c77f9ab0750826691d53a027cdcd786771fbb",
      "parents": [
        "55f2b8bdb0c7387eb2dc645b9ecbe5d0faa6b54e"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Jul 27 15:08:03 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:03 2012 +0100"
      },
      "message": "dm: introduce split_discard_requests\n\nThis patch introduces a new variable split_discard_requests. It can be\nset by targets so that discard requests are split on max_io_len\nboundaries.\n\nWhen split_discard_requests is not set, discard requests are only split on\nboundaries between targets, as was the case before this patch.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "55f2b8bdb0c7387eb2dc645b9ecbe5d0faa6b54e",
      "tree": "4428d66325bdc8d4f25a374e10b5a78cb0ab3e54",
      "parents": [
        "33d07c0dfab902a7c5420587984497dc05ab5c9c"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Jul 27 15:08:02 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:02 2012 +0100"
      },
      "message": "dm thin: support for non power of 2 pool blocksize\n\nNon power of 2 blocksize support is needed to properly align thinp IO\non storage that has non power of 2 optimal IO sizes (e.g. RAID6 10+2).\n\nUse sector_div to support non power of 2 blocksize for the pool\u0027s\ndata device.  This provides comparable performance to the power of 2\nmath that was performed until now (as tested on modern x86_64 hardware).\n\nThe kernel currently assumes that limits-\u003ediscard_granularity is a power\nof two so the thin target only enables discard support if the block\nsize is a power of two.\n\nEliminate pool structure\u0027s \u0027block_shift\u0027, \u0027offset_mask\u0027 and\nremaining 4 byte holes.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "33d07c0dfab902a7c5420587984497dc05ab5c9c",
      "tree": "a81d17ca4633bc43a5fc0959754df43c109a0b63",
      "parents": [
        "8f069b41bce79b0c4b6076acd0f3d15df0a232ed"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Jul 27 15:08:02 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:02 2012 +0100"
      },
      "message": "dm stripe: optimize chunk_size calculations\n\ndm-stripe is usually used with a chunk size that is a power of two.\nUse faster shifts and bit masks in such cases.\n\nstripe_width is already optimized in a similar way.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8f069b41bce79b0c4b6076acd0f3d15df0a232ed",
      "tree": "6cf160e729c423c3eb003e5c4f4d921a62b556ca",
      "parents": [
        "eb850de608cc22e0199b3797cd5c0076bae6cda0"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Jul 27 15:08:01 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:01 2012 +0100"
      },
      "message": "dm stripe: remove minimum stripe size\n\nThere is no technical limitation in device mapper that would prevent the\ndm-stripe target from using a stripe size smaller than page size.\n\nThis patch removes the limit and makes stripe volumes portable across\narchitectures with different page size.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "eb850de608cc22e0199b3797cd5c0076bae6cda0",
      "tree": "60cf311ac60af6fc5cae3b2cacca19ab8a74e7aa",
      "parents": [
        "542f90381422676544382d4071ba44a2de90a0c1"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Jul 27 15:08:01 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:01 2012 +0100"
      },
      "message": "dm stripe: support for non power of 2 chunksize\n\nSupport non-power-of-2 chunk sizes with dm striping for proper alignment\nof stripe IO on storage that has non-power-of-2 optimal IO sizes (e.g.\nRAID6 10+2).\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "542f90381422676544382d4071ba44a2de90a0c1",
      "tree": "0eae6798ab2fdef68a0eb1ea5ac14f3cc3ffb740",
      "parents": [
        "1df05483d758ea43abc375869fbe06be506ba827"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Jul 27 15:08:00 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:00 2012 +0100"
      },
      "message": "dm: support non power of two target max_io_len\n\nRemove the restriction that limits a target\u0027s specified maximum incoming\nI/O size to be a power of 2.\n\nRename this setting from \u0027split_io\u0027 to the less-ambiguous \u0027max_io_len\u0027.\nChange it from sector_t to uint32_t, which is plenty big enough, and\nintroduce a wrapper function dm_set_target_max_io_len() to set it.\nUse sector_div() to process it now that it is not necessarily a power of 2.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "1df05483d758ea43abc375869fbe06be506ba827",
      "tree": "230f9e574467fbe34cb5a96120b9466bbc27d5f8",
      "parents": [
        "f14fa693c93078444b5e95d7cad78ead0383ad50"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Jul 27 15:08:00 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:00 2012 +0100"
      },
      "message": "dm stripe: remove stripes_mask\n\nThe structure stripe_c contains a stripes_mask field. This field is\nuseless because it can be trivially calculated by subtracting one from\nstripes. It is used only at one place. This patch removes it.\n\nThe patch also changes ffs(stripes) - 1 to __ffs(stripes).\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f14fa693c93078444b5e95d7cad78ead0383ad50",
      "tree": "72efcd3104d4eab2d420626b98264dd670343fd0",
      "parents": [
        "f09996c993e256fce4b920588959866998d51250"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Jul 27 15:08:00 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:08:00 2012 +0100"
      },
      "message": "dm stripe: fix size test\n\ndm-stripe is supposed to ensure that all the space allocated to the\nstripes is fully used and that all stripes are the same size.  This\npatch fixes the test.  It checks that device length is divisible by the\nchunk size and checks that the resulting quotient is divisible by the\nnumber of stripes (which is equivalent to testing if device length is\ndivisible by chunk_size * stripes).\n\nPreviously, the code only tested that the number of sectors in the target\nwas divisible by each of the chunk size and the number of stripes\nseparately, which could leave entire stripes unused.\n\n(A setup that genuinely needs some stripes to be shorter than others\ncan be created by concatenating striped targets.)\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f09996c993e256fce4b920588959866998d51250",
      "tree": "462169f8d08cdac6960db32bf6307068630f634e",
      "parents": [
        "1a66a08ae82b16eb40705ad112ff28873981af92"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Jul 27 15:07:59 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:59 2012 +0100"
      },
      "message": "dm thin: provide specific errors for two table load failure cases\n\nProvide specific error message strings for two pool_ctr() failure cases\nthat currently give just \"Unknown error\".\n\nReference: test_two_pools_pointing_to_the_same_metadata_fails and\ntest_different_pool_cant_replace_pool in thinp-test-suite.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "1a66a08ae82b16eb40705ad112ff28873981af92",
      "tree": "afb3a927ce42b549df8083e66cca23cd865ab80a",
      "parents": [
        "70c48611024791ccf83aca6195b58a5db9325485"
      ],
      "author": {
        "name": "majianpeng",
        "email": "majianpeng@gmail.com",
        "time": "Fri Jul 27 15:07:59 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:59 2012 +0100"
      },
      "message": "dm: replace simple_strtoul\n\nReplace obsolete simple_strtoul() with kstrtou8/kstrtouint.\n\nSigned-off-by: majianpeng \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "70c48611024791ccf83aca6195b58a5db9325485",
      "tree": "1703eb6d2ad54c3bf64e524ea0ca95432cfb24c3",
      "parents": [
        "8c971178a788c70e8d6db5c3a813de1a1f54e5b7"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:59 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:59 2012 +0100"
      },
      "message": "dm snapshot: remove redundant assignment in merge fn\n\nRemove redundant bvm-\u003ebi_sector self-assignment in dm snapshot\u0027s\norigin_merge().\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8c971178a788c70e8d6db5c3a813de1a1f54e5b7",
      "tree": "d909d1e3aae1ce0cf2ca92be709ffc8405ba0aa8",
      "parents": [
        "d973ac196b7668c198f3c1338d8b07c13a3e7713"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:07:58 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:58 2012 +0100"
      },
      "message": "dm thin metadata: introduce THIN_MAX_CONCURRENT_LOCKS\n\nIntroduce THIN_MAX_CONCURRENT_LOCKS into dm-thin-metadata to\ngive a name to an otherwise \"magic\" number.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d973ac196b7668c198f3c1338d8b07c13a3e7713",
      "tree": "cab64b3e47e8a4e350f2eed1e5770ab8d2dfc6bb",
      "parents": [
        "3caf6d73d4dc163b2d135e0b52b052a2b63e5216"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:07:58 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:58 2012 +0100"
      },
      "message": "dm thin metadata: remove pointless label from __commit_transaction\n\nRemove the pointless label \u0027out\u0027 from __commit_transaction in\ndm-thin-metadata.c\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "3caf6d73d4dc163b2d135e0b52b052a2b63e5216",
      "tree": "df766d38649d24d3e3967b74ae989251a1241a9c",
      "parents": [
        "af7346ebbda5f4a95da71359231d32cb136bd246"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:07:58 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:58 2012 +0100"
      },
      "message": "dm persistent data: remove debug space map checker\n\nRemove debug space map checker from dm persistent data.\n\nThe space map checker is a wrapper for other space maps that double\nchecks the reference counts are correct.  It holds all these reference\ncounts in memory rather than on disk, so uses a lot of memory and is\nthus restricted to small pools.\n\nAs yet, this checker hasn\u0027t found any issues, but has caused a few of\nits own due to people turning it on by default with larger pools.\n\nRemoving.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "af7346ebbda5f4a95da71359231d32cb136bd246",
      "tree": "19af7a7e9bef0b423311059901599d6c3ee97c8a",
      "parents": [
        "17b7d63f7ed10376e762fdfadbc65da6687d569a"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Fri Jul 27 15:07:58 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:58 2012 +0100"
      },
      "message": "dm: remove unused flush target method\n\nRemove unused dm_flush_fn .flush target method from header.\n\nThis was left-over from the FLUSH/FUA conversion and is no longer used.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "17b7d63f7ed10376e762fdfadbc65da6687d569a",
      "tree": "5de13953644dab7ca76b0b924558503f0c8a7860",
      "parents": [
        "7768ed33ccdc02801c4483fc5682dc66ace14aea"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Jul 27 15:07:57 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:57 2012 +0100"
      },
      "message": "dm thin: clean up compiler warning\n\nClean up \"warning: dubious: !x \u0026 y\".  Also make it clear that\n__snapshotted_since() returns a bool and that dm_thin_lookup_result\u0027s\n\u0027shared\u0027 member is a flag.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7768ed33ccdc02801c4483fc5682dc66ace14aea",
      "tree": "355d56037f8d0ff19e1dc332aeecf3ffd2c70f88",
      "parents": [
        "bdc0077af574800d24318b6945cf2344e8dbb050"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:57 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jul 27 15:07:57 2012 +0100"
      },
      "message": "dm thin: reduce endio_hook pool size\n\nReduce the slab size used for the dm_thin_endio_hook mempool.\n\nAllocation has been seen to fail on machines with smaller amounts\nof memory due to fragmentation.\n\n  lvm: page allocation failure. order:5, mode:0xd0\n  device-mapper: table: 253:38: thin-pool: Error creating pool\u0027s endio_hook mempool\n\nCc: stable@vger.kernel.org\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "bdc0077af574800d24318b6945cf2344e8dbb050",
      "tree": "efbcb8f2d8c2f1e42130e983405e49f2b95246f7",
      "parents": [
        "801b03653fc04de2cc5bc83c06de504d41345b63",
        "e96eb23d82b4246cce4eeb14a7eedbbdcf37b3d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 18:11:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 18:11:22 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi\n\nPull first round of SCSI updates from James Bottomley:\n \"The most important feature of this patch set is the new async\n  infrastructure that makes sure async_synchronize_full() synchronizes\n  all domains and allows us to remove all the hacks (like having\n  scsi_complete_async_scans() in the device base code) and means that\n  the async infrastructure will \"just work\" in future.\n\n  The rest is assorted driver updates (aacraid, bnx2fc, virto-scsi,\n  megaraid, bfa, lpfc, qla2xxx, qla4xxx) plus a lot of infrastructure\n  work in sas and FC.\n\n  Signed-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (97 commits)\n  [SCSI] Revert \"[SCSI] fix async probe regression\"\n  [SCSI] cleanup usages of scsi_complete_async_scans\n  [SCSI] queue async scan work to an async_schedule domain\n  [SCSI] async: make async_synchronize_full() flush all work regardless of domain\n  [SCSI] async: introduce \u0027async_domain\u0027 type\n  [SCSI] bfa: Fix to set correct return error codes and misc cleanup.\n  [SCSI] aacraid: Series 7 Async. (performance) mode support\n  [SCSI] aha152x: Allow use on 64bit systems\n  [SCSI] virtio-scsi: Add vdrv-\u003escan for post VIRTIO_CONFIG_S_DRIVER_OK LUN scanning\n  [SCSI] bfa: squelch lockdep complaint with a spin_lock_init\n  [SCSI] qla2xxx: remove unnecessary reads of PCI_CAP_ID_EXP\n  [SCSI] qla4xxx: remove unnecessary read of PCI_CAP_ID_EXP\n  [SCSI] ufs: fix incorrect return value about SUCCESS and FAILED\n  [SCSI] ufs: reverse the ufshcd_is_device_present logic\n  [SCSI] ufs: use module_pci_driver\n  [SCSI] usb-storage: update usb devices for write cache quirk in quirk list.\n  [SCSI] usb-storage: add support for write cache quirk\n  [SCSI] set to WCE if usb cache quirk is present.\n  [SCSI] virtio-scsi: hotplug support for virtio-scsi\n  [SCSI] virtio-scsi: split scatterlist per target\n  ...\n"
    },
    {
      "commit": "801b03653fc04de2cc5bc83c06de504d41345b63",
      "tree": "e77de2bc0198d82c5286a8f28f58cd0945212880",
      "parents": [
        "614a6d4341b3760ca98a1c2c09141b71db5d1e90",
        "15e1c960227dc22d976c270fc854dfe363c04bbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:57:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:57:05 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw\n\nPull GFS2 updates from Steven Whitehouse.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:\n  GFS2: Eliminate 64-bit divides\n  GFS2: Reduce file fragmentation\n  GFS2: kernel panic with small gfs2 filesystems - 1 RG\n  GFS2: Fixing double brelse\u0027ing bh allocated in gfs2_meta_read when EIO occurs\n  GFS2: Combine functions get_local_rgrp and gfs2_inplace_reserve\n  GFS2: Add kobject release method\n  GFS2: Size seq_file buffer more carefully\n  GFS2: Use seq_vprintf for glocks debugfs file\n  seq_file: Add seq_vprintf function and export it\n  GFS2: Use lvbs for storing rgrp information with mount option\n  GFS2: Cache last hash bucket for glock seq_files\n  GFS2: Increase buffer size for glocks and glstats debugfs files\n  GFS2: Fix error handling when reading an invalid block from the journal\n  GFS2: Add \"top dir\" flag support\n  GFS2: Fold quota data into the reservations struct\n  GFS2: Extend the life of the reservations\n"
    },
    {
      "commit": "614a6d4341b3760ca98a1c2c09141b71db5d1e90",
      "tree": "6345a6fe908e002f2bd6056427d49b2d0e5652a5",
      "parents": [
        "a08489c569dc174cff97d2cb165aa81e3f1501cc",
        "9a8054aa5d7a98106f72d9ab76e26ebd42320ee0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:47:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:47:44 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Nothing too interesting.  A minor bug fix and some cleanups.\"\n\n* \u0027for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: Update remount documentation\n  cgroup: cgroup_rm_files() was calling simple_unlink() with the wrong inode\n  cgroup: Remove populate() documentation\n  cgroup: remove hierarchy_mutex\n"
    },
    {
      "commit": "a08489c569dc174cff97d2cb165aa81e3f1501cc",
      "tree": "c583700a11bab82ea864425004dd5bb03bf8a987",
      "parents": [
        "08d9329c29ec98477e8ac2f7a513f2bfa3e9f3c5",
        "6fec10a1a5866dda3cd6a825a521fc7c2f226ba5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:46:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:46:16 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"There are three major changes.\n\n   - WQ_HIGHPRI has been reimplemented so that high priority work items\n     are served by worker threads with -20 nice value from dedicated\n     highpri worker pools.\n\n   - CPU hotplug support has been reimplemented such that idle workers\n     are kept across CPU hotplug events.  This makes CPU hotplug cheaper\n     (for PM) and makes the code simpler.\n\n   - flush_kthread_work() has been reimplemented so that a work item can\n     be freed while executing.  This removes an annoying behavior\n     difference between kthread_worker and workqueue.\"\n\n* \u0027for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: fix spurious CPU locality WARN from process_one_work()\n  kthread_worker: reimplement flush_kthread_work() to allow freeing the work item being executed\n  kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation\n  workqueue: simplify CPU hotplug code\n  workqueue: remove CPU offline trustee\n  workqueue: don\u0027t butcher idle workers on an offline CPU\n  workqueue: reimplement CPU online rebinding to handle idle workers\n  workqueue: drop @bind from create_worker()\n  workqueue: use mutex for global_cwq manager exclusion\n  workqueue: ROGUE workers are UNBOUND workers\n  workqueue: drop CPU_DYING notifier operation\n  workqueue: perform cpu down operations from low priority cpu_notifier()\n  workqueue: reimplement WQ_HIGHPRI using a separate worker_pool\n  workqueue: introduce NR_WORKER_POOLS and for_each_worker_pool()\n  workqueue: separate out worker_pool flags\n  workqueue: use @pool instead of @gcwq or @cpu where applicable\n  workqueue: factor out worker_pool from global_cwq\n  workqueue: don\u0027t use WQ_HIGHPRI for unbound workqueues\n"
    },
    {
      "commit": "08d9329c29ec98477e8ac2f7a513f2bfa3e9f3c5",
      "tree": "464917dd750d7417cc62831c7a119b7ca64d0ec8",
      "parents": [
        "2c05b2c838e7adaabb7265ad5d5b632315c20821",
        "0143fc5e9f6f5aad4764801015bc8d4b4a278200"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:40:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:40:44 2012 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs\n\nPull misc udf, ext2, ext3, and isofs fixes from Jan Kara:\n \"Assorted, mostly trivial, fixes for udf, ext2, ext3, and isofs.  I\u0027m\n  on vacation and scarcely checking email since we are expecting baby\n  any day now but these fixes should be safe to go in and I don\u0027t want\n  to delay them unnecessarily.\"\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:\n  udf: avoid info leak on export\n  isofs: avoid info leak on export\n  udf: Improve table length check to avoid possible overflow\n  ext3: Check return value of blkdev_issue_flush()\n  jbd: Check return value of blkdev_issue_flush()\n  udf: Do not decrement i_blocks when freeing indirect extent block\n  udf: Fix memory leak when mounting\n  ext2: cleanup the confused goto label\n  UDF: Remove unnecessary variable \"offset\" from udf_fill_inode\n  udf: stop using s_dirt\n  ext3: force ro mount if ext3_setup_super() fails\n  quota: fix checkpatch.pl warning by replacing \u003casm/uaccess.h\u003e with \u003clinux/uaccess.h\u003e\n"
    },
    {
      "commit": "2c05b2c838e7adaabb7265ad5d5b632315c20821",
      "tree": "cb29c9de665f216825a7932afb7c6329ab9ae158",
      "parents": [
        "c511dc1fb6bee58363eb203d53393784f2589d02",
        "b1f7735ef47a97108f945eac48812855b6599139"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:20:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:20:51 2012 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu\n\nPull m68knommu arch update from Greg Ungerer:\n \"Quite a varied set of changes this time.\n   - A little more merge cleanup, this time the assembler entry code.\n   - New sub-architecture support for the ColdFire 5251/5253 and 5441x\n     CPU families.\n   - Specific clk support code for the ColdFire 520x and 532x CPU\n     familes.\n   - Refactoring of the ColdFire GPIO support.\n   - PCI bus support for some ColdFire CPUS that have PCI hardware (54xx\n     family).  This showed up a few problems with ColdFire cache,\n     allocating coherent memory and bi-directional DMA support.  Fixes\n     for those too.\"\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (21 commits)\n  m68k: allow PCI bus to be enabled for ColdFire m54xx CPUs\n  m68k: add PCI bus code support for the ColdFire M54xx SoC family\n  m68k: add IO access definitions to support PCI on ColdFire platforms\n  m68k: add PCI bus support definitions for the ColdFire M54xx SoC family\n  m68k: common PCI support definitions and code\n  m68k: add support for DMA_BIDIRECTIONAL in dma support functions\n  m68k: fix ColdFire clear cache operation\n  m68k: use simpler dma_alloc_coherent() for ColdFire CPUs\n  m68knommu: platform support for 8390 based ethernet used on some boards\n  m68knommu: Add clk definitions for m532x.\n  m68knommu: Add clk definitions for m520x.\n  m68knommu: Add rtc device for m5441x.\n  m68knommu: add definitions for the third interrupt controller on devices that don\u0027t have a third interrupt controller.\n  m68knommu: Add support for the Coldfire m5441x.\n  m68knommu: use MCF_IRQ_PIT1 instead of MCFINT_VECBASE + MCFINT_PIT1\n  coldfire-qspi: Add support for the Coldfire 5251/5253.\n  m68knommu: Add support for the Coldfire 5251/5253\n  m68knommu: refactor Coldfire GPIO not to require GPIOLIB, eliminate mcf_gpio_chips.\n  m68k: merge the MMU and non-MMU versions of the entry.S code\n  m68k: use jbsr to call functions instead of bsrl\n  ...\n"
    },
    {
      "commit": "c511dc1fb6bee58363eb203d53393784f2589d02",
      "tree": "20d91e01aec30c462965fba27cfea0c80744d7ed",
      "parents": [
        "9161c3b796a2841a9a7be3d9c9dd121269ce90e8",
        "634332502366554849fe37e88d05ec0a13e550c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:12:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:12:54 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.infradead.org/users/vkoul/slave-dma\n\nPull slave-dmaengine update from Vinod Koul:\n \"This time we have a new dmaengine driver from the tegra folks.  Also\n  we have Guennadi\u0027s cleanup of sh drivers which incudes a library for\n  sh drivers.  And the usual odd fixes in bunch of drivers and some nice\n  cleanup of dw_dmac from Andy.\"\n\nFix up conflicts in drivers/mmc/host/sh_mmcif.c\n\n* \u0027next\u0027 of git://git.infradead.org/users/vkoul/slave-dma: (46 commits)\n  dmaengine: Cleanup logging messages\n  mmc: sh_mmcif: switch to the new DMA channel allocation and configuration\n  dma: sh: provide a migration path for slave drivers to stop using .private\n  dma: sh: use an integer slave ID to improve API compatibility\n  dmaengine: shdma: prepare to stop using struct dma_chan::private\n  sh: remove unused DMA device pointer from SIU platform data\n  ASoC: siu: don\u0027t use DMA device for channel filtering\n  dmaengine: shdma: (cosmetic) simplify a static function\n  dmaengine: at_hdmac: add a few const qualifiers\n  dw_dmac: use \u0027u32\u0027 for LLI structure members, not dma_addr_t\n  dw_dmac: mark dwc_dump_lli inline\n  dma: mxs-dma: Export missing symbols from mxs-dma.c\n  dma: shdma: convert to the shdma base library\n  ASoC: fsi: prepare for conversion to the shdma base library\n  usb: renesas_usbhs: prepare for conversion to the shdma base library\n  ASoC: siu: prepare for conversion to the shdma base library\n  serial: sh-sci: prepare for conversion to the shdma base library\n  mmc: sh_mobile_sdhi: prepare for conversion to the shdma base library\n  mmc: sh_mmcif: remove unneeded struct sh_mmcif_dma, prepare to shdma conversion\n  dma: shdma: prepare for conversion to the shdma base library\n  ...\n"
    },
    {
      "commit": "9161c3b796a2841a9a7be3d9c9dd121269ce90e8",
      "tree": "4920a191c4a2eecae1a4e055af7e967f1e769714",
      "parents": [
        "97027da6adf2e24a4e8d3d9c0668da3006b29971",
        "137f8a7213d80c1388ca48280c1ef0856b6fec30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 16:40:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 16:40:57 2012 -0700"
      },
      "message": "Merge tag \u0027clk-for-linus\u0027 of git://git.linaro.org/people/mturquette/linux\n\nPull common clk framework changes from Michael Turquette:\n \"This includes a small number of core framework improvments, platform\n  ports and new DT bindings.\"\n\nFix up trivial conflicts in drivers/clk/Makefile\n\n* tag \u0027clk-for-linus\u0027 of git://git.linaro.org/people/mturquette/linux: (21 commits)\n  clk: fix compile for OF \u0026\u0026 !COMMON_CLK\n  clk: fix clk_get on of_clk_get_by_name return check\n  clk: mxs: clk_register_clkdev mx28 usb clocks\n  clk: add highbank clock support\n  dt: add clock binding doc to primecell bindings\n  clk: add DT fixed-clock binding support\n  clk: add DT clock binding support\n  ARM: integrator: convert to common clock\n  clk: add versatile ICST307 driver\n  ARM: integrator: put symbolic bus names on devices\n  ARM: u300: convert to common clock\n  clk: cache parent clocks only for muxes\n  clk: wm831x: Add initial WM831x clock driver\n  clk: Constify struct clk_init_data\n  clk: Add CLK_IS_BASIC flag to identify basic clocks\n  clk: Add support for rate table based dividers\n  clk: Add support for power of two type dividers\n  clk: mxs: imx28: decrease the frequency of ref_io1 for SSP2 and SSP3\n  clk: mxs: add clkdev lookup for pwm\n  clk: mxs: Fix the GPMI clock name\n  ...\n"
    },
    {
      "commit": "97027da6adf2e24a4e8d3d9c0668da3006b29971",
      "tree": "7da3aa43a9e8c9be0a408b814e6f0d3106c55d66",
      "parents": [
        "6dd53aa4563a2c69e80a24d2cc68d484b5ea2891",
        "395e51f18d3b26619c1c462b7a1c0226846ac0a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 16:24:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 16:24:11 2012 -0700"
      },
      "message": "Merge tag \u0027iommu-updates-v3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\nPull IOMMU updates from Joerg Roedel:\n \"The most important part of these updates is the IOMMU groups code\n  enhancement written by Alex Williamson.  It abstracts the problem that\n  a given hardware IOMMU can\u0027t isolate any given device from any other\n  device (e.g.  32 bit PCI devices can\u0027t usually be isolated).  Devices\n  that can\u0027t be isolated are grouped together.  This code is required\n  for the upcoming VFIO framework.\n\n  Another IOMMU-API change written by me is the introduction of domain\n  attributes.  This makes it easier to handle GART-like IOMMUs with the\n  IOMMU-API because now the start-address and the size of the domain\n  address space can be queried.\n\n  Besides that there are a few cleanups and fixes for the NVidia Tegra\n  IOMMU drivers and the reworked init-code for the AMD IOMMU.  The\n  latter is from my patch-set to support interrupt remapping.  The rest\n  of this patch-set requires x86 changes which are not mergabe yet.  So\n  full support for interrupt remapping with AMD IOMMUs will come in a\n  future merge window.\"\n\n* tag \u0027iommu-updates-v3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (33 commits)\n  iommu/amd: Fix hotplug with iommu\u003dpt\n  iommu/amd: Add missing spin_lock initialization\n  iommu/amd: Convert iommu initialization to state machine\n  iommu/amd: Introduce amd_iommu_init_dma routine\n  iommu/amd: Move unmap_flush message to amd_iommu_init_dma_ops()\n  iommu/amd: Split enable_iommus() routine\n  iommu/amd: Introduce early_amd_iommu_init routine\n  iommu/amd: Move informational prinks out of iommu_enable\n  iommu/amd: Split out PCI related parts of IOMMU initialization\n  iommu/amd: Use acpi_get_table instead of acpi_table_parse\n  iommu/amd: Fix sparse warnings\n  iommu/tegra: Don\u0027t call alloc_pdir with as-\u003elock\n  iommu/tegra: smmu: Fix unsleepable memory allocation at alloc_pdir()\n  iommu/tegra: smmu: Remove unnecessary sanity check at alloc_pdir()\n  iommu/exynos: Implement DOMAIN_ATTR_GEOMETRY attribute\n  iommu/tegra: Implement DOMAIN_ATTR_GEOMETRY attribute\n  iommu/msm: Implement DOMAIN_ATTR_GEOMETRY attribute\n  iommu/omap: Implement DOMAIN_ATTR_GEOMETRY attribute\n  iommu/vt-d: Implement DOMAIN_ATTR_GEOMETRY attribute\n  iommu/amd: Implement DOMAIN_ATTR_GEOMETRY attribute\n  ...\n"
    },
    {
      "commit": "6dd53aa4563a2c69e80a24d2cc68d484b5ea2891",
      "tree": "0cca9f65984b524527910960d972fc6ef85fac88",
      "parents": [
        "f14121ab35912e3d2e57ac9a4ce1f9d4b7baeffb",
        "63b96f7baeba71966c723912c3f8f0274577f877"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 16:17:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 16:17:07 2012 -0700"
      },
      "message": "Merge tag \u0027for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci\n\nPull PCI changes from Bjorn Helgaas:\n \"Host bridge hotplug:\n    - Add MMCONFIG support for hot-added host bridges (Jiang Liu)\n  Device hotplug:\n    - Move fixups from __init to __devinit (Sebastian Andrzej Siewior)\n    - Call FINAL fixups for hot-added devices, too (Myron Stowe)\n    - Factor out generic code for P2P bridge hot-add (Yinghai Lu)\n    - Remove all functions in a slot, not just those with _EJx (Amos\n      Kong)\n  Dynamic resource management:\n    - Track bus number allocation (struct resource tree per domain)\n      (Yinghai Lu)\n    - Make P2P bridge 1K I/O windows work with resource reassignment\n      (Bjorn Helgaas, Yinghai Lu)\n    - Disable decoding while updating 64-bit BARs (Bjorn Helgaas)\n  Power management:\n    - Add PCIe runtime D3cold support (Huang Ying)\n  Virtualization:\n    - Add VFIO infrastructure (ACS, DMA source ID quirks) (Alex\n      Williamson)\n    - Add quirks for devices with broken INTx masking (Jan Kiszka)\n  Miscellaneous:\n    - Fix some PCI Express capability version issues (Myron Stowe)\n    - Factor out some arch code with a weak, generic, pcibios_setup()\n      (Myron Stowe)\"\n\n* tag \u0027for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (122 commits)\n  PCI: hotplug: ensure a consistent return value in error case\n  PCI: fix undefined reference to \u0027pci_fixup_final_inited\u0027\n  PCI: build resource code for M68K architecture\n  PCI: pciehp: remove unused pciehp_get_max_lnk_width(), pciehp_get_cur_lnk_width()\n  PCI: reorder __pci_assign_resource() (no change)\n  PCI: fix truncation of resource size to 32 bits\n  PCI: acpiphp: merge acpiphp_debug and debug\n  PCI: acpiphp: remove unused res_lock\n  sparc/PCI: replace pci_cfg_fake_ranges() with pci_read_bridge_bases()\n  PCI: call final fixups hot-added devices\n  PCI: move final fixups from __init to __devinit\n  x86/PCI: move final fixups from __init to __devinit\n  MIPS/PCI: move final fixups from __init to __devinit\n  PCI: support sizing P2P bridge I/O windows with 1K granularity\n  PCI: reimplement P2P bridge 1K I/O windows (Intel P64H2)\n  PCI: disable MEM decoding while updating 64-bit MEM BARs\n  PCI: leave MEM and IO decoding disabled during 64-bit BAR sizing, too\n  PCI: never discard enable/suspend/resume_early/resume fixups\n  PCI: release temporary reference in __nv_msi_ht_cap_quirk()\n  PCI: restructure \u0027pci_do_fixups()\u0027\n  ...\n"
    },
    {
      "commit": "f14121ab35912e3d2e57ac9a4ce1f9d4b7baeffb",
      "tree": "7d5b4799998760e0a88166185abff1147d4ee04d",
      "parents": [
        "914311c9fb9bc01a215de9d848b72b5449c0e342",
        "e95d8aafa5d911bf523bc47fe89f3336eb8a1b51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 14:07:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 14:07:22 2012 -0700"
      },
      "message": "Merge tag \u0027dt-for-3.6\u0027 of git://sources.calxeda.com/kernel/linux\n\nPull devicetree updates from Rob Herring:\n \"A small set of changes for devicetree:\n   - Couple of Documentation fixes\n   - Addition of new helper function of_node_full_name\n   - Improve of_parse_phandle_with_args return values\n   - Some NULL related sparse fixes\"\n\nGrant\u0027s busy packing.\n\n* tag \u0027dt-for-3.6\u0027 of git://sources.calxeda.com/kernel/linux:\n  of: mtd: nuke useless const qualifier\n  devicetree: add helper inline for retrieving a node\u0027s full name\n  of: return -ENOENT when no property\n  usage-model.txt: fix typo machine_init-\u003einit_machine\n  of: Fix null pointer related warnings in base.c file\n  LED: Fix missing semicolon in OF documentation\n  of: fix a few typos in the binding documentation\n"
    },
    {
      "commit": "914311c9fb9bc01a215de9d848b72b5449c0e342",
      "tree": "e130f41c9c721bae03d6e293ffe0039d1a9018ea",
      "parents": [
        "5dedb9f3bd5bcb186313ea0c0cff8f2c525d4122",
        "8b8b091bf07fa7ef7f13c1ac40b30bcf74050b60"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 14:05:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 14:05:46 2012 -0700"
      },
      "message": "Merge tag \u0027pinctrl-for-v3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl\n\nPull pin control changes from Linus Walleij:\n \"These are the accumulated pin control patches for v3.6:\n   - Various cleanups to the U300 driver\n   - Refactor the pin control core to automatically remove any GPIO\n     ranges when the drivers are removed, instead of having the drivers\n     do this explicitly.\n   - Add a function for registering a batch of GPIO ranges.\n   - Fix a number of incorrect but non-regressive error checks.\n   - Incremental improvements to the COH901, i.MX and Nomadik drivers\n   - Add a one-register-per-pin entirely Device Tree-based pin control\n     driver from Tony Lindgren.\"\n\n* tag \u0027pinctrl-for-v3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:\n  pinctrl: Add one-register-per-pin type device tree based pinctrl driver\n  pinctrl/nomadik: add spi2_oc1_2 pin group\n  pinctrl/nomadik: kerneldoc fix\n  pinctrl/nomadik: use devm_* allocators for gpio probe\n  pinctrl/nomadik: add pin group to mco function\n  pinctrl/nomadik: add hsit_a_2 pin group\n  pinctrl/nomadik: add pin group smcs1 and smps0\n  pinctrl/nomadik: fix hsir_a_1_pins pin list\n  pinctrl: pinctrl-imx: fix map setting problem if NO_PAD_CTL is set\n  pinctrl/coh901: use clk_prepare_[en|dis]able()\n  pinctrl/pinctrl-tegra: remove IS_ERR checking of pmx-\u003epctl\n  pinctrl/pinctrl-spear: remove IS_ERR checking of pmx-\u003epctl\n  pinctrl/u300: drop unused variable\n  pinctrl: select the proper symbol\n  pinctrl: add pinctrl_add_gpio_ranges function\n  pinctrl: remove pinctrl_remove_gpio_range\n  pinctrl/pinctrl-core: cleanup pinctrl_register\n  pinctrl/u300: delete pointless debug print\n  pinctrl/pinctrl-u300: remove devm_kfree at driver unload\n"
    },
    {
      "commit": "5dedb9f3bd5bcb186313ea0c0cff8f2c525d4122",
      "tree": "88514547a6e95176e7a9dc2fbdc7fa7c1bec3107",
      "parents": [
        "ddb03448274b95bff6df2a2f1a74d7eb4be529d3",
        "089117e1ad265625b523a4168f77f2521b18fd32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:56:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:56:26 2012 -0700"
      },
      "message": "Merge tag \u0027rdma-for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull InfiniBand/RDMA changes from Roland Dreier:\n - Updates to the qib low-level driver\n - First chunk of changes for SR-IOV support for mlx4 IB\n - RDMA CM support for IPv6-only binding\n - Other misc cleanups and fixes\n\nFix up some add-add conflicts in include/linux/mlx4/device.h and\ndrivers/net/ethernet/mellanox/mlx4/main.c\n\n* tag \u0027rdma-for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (30 commits)\n  IB/qib: checkpatch fixes\n  IB/qib: Add congestion control agent implementation\n  IB/qib: Reduce sdma_lock contention\n  IB/qib: Fix an incorrect log message\n  IB/qib: Fix QP RCU sparse warnings\n  mlx4: Put physical GID and P_Key table sizes in mlx4_phys_caps struct and paravirtualize them\n  mlx4_core: Allow guests to have IB ports\n  mlx4_core: Implement mechanism for reserved Q_Keys\n  net/mlx4_core: Free ICM table in case of error\n  IB/cm: Destroy idr as part of the module init error flow\n  mlx4_core: Remove double function declarations\n  IB/mlx4: Fill the masked_atomic_cap attribute in query device\n  IB/mthca: Fill in sq_sig_type in query QP\n  IB/mthca: Warning about event for non-existent QPs should show event type\n  IB/qib: Fix sparse RCU warnings in qib_keys.c\n  net/mlx4_core: Initialize IB port capabilities for all slaves\n  mlx4: Use port management change event instead of smp_snoop\n  IB/qib: RCU locking for MR validation\n  IB/qib: Avoid returning EBUSY from MR deregister\n  IB/qib: Fix UC MR refs for immediate operations\n  ...\n"
    },
    {
      "commit": "ddb03448274b95bff6df2a2f1a74d7eb4be529d3",
      "tree": "bd54ec00a4c49ab359a1e7ecce85099f2eedf11d",
      "parents": [
        "dbf7b5915b39bfff548e4c6a3a753fc291a60e25",
        "fb604a3d58b79ef722942f664f11dee5e1f73ea4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:44:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:44:40 2012 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\nPull i2c updates from Jean Delvare:\n \"The most important changes here are a big cleanup of the i2c-piix4\n  driver, cleanups and interrupt support to the i2c-i801 driver, and\n  support for the SCCB protocol.\"\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c-omap: Add support for I2C_M_STOP message flag\n  i2c: Fall back to emulated SMBus if the operation isn\u0027t supported natively\n  i2c: Add SCCB support\n  i2c-tiny-usb: Add support for the Robofuzz OSIF USB/I2C converter\n  i2c-i801: Enable IRQ for byte_by_byte transactions\n  i2c-i801: Enable interrupts on ICH5/7/8/9/10\n  i2c-i801: Enable IRQ for SMBus transactions\n  i2c-i801: Consolidate polling\n  i2c-i801: Drop ENABLE_INT9\n  i2c-i801: Rename some SMBHSTCNT bit constants\n  i2c-i801: Check and return errors during byte-by-byte transfers\n  i2c-i801: Clear only status bits in HST_STS\n  i2c-i801: Refactor use of LAST_BYTE in i801_block_transaction_byte_by_byte\n  i2c-smbus: Use module_i2c_driver()\n  i2c/writing-clients: Mention module_i2c_driver()\n  i2c-piix4: Support AMD auxiliary SMBus controller\n  i2c-piix4: Separate registration and probing code\n  i2c-piix4: Eliminate piix4_smba global variable\n  i2c/busses: Use module_pci_driver\n  i2c: Update Guenter Roeck\u0027s e-mail address\n"
    },
    {
      "commit": "dbf7b5915b39bfff548e4c6a3a753fc291a60e25",
      "tree": "55c457a22aa869d2ab558317877138369ae5f9bb",
      "parents": [
        "d14b7a419a664cd7c1c585c9e7fffee9e9051d53",
        "c1b623d9e4117d18d244e9b7fb30d2c27aeaf074"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:37:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:37:37 2012 -0700"
      },
      "message": "Merge tag \u0027sound-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\nPull sound update from Takashi Iwai:\n \"This is a fairly quiet release in all sound area.  Only a little bit\n  of changes in the core side while most of changes are seen in the\n  drivers.\n\n  HD-audio:\n   - A few new codec additions for Nvidia, Realtek and VIA\n   - Intel Haswell audio support\n   - Support for \"phantom\" jacks for consistent jack reporting\n   - Major clean-ups in HDMI/DP driver codes\n   - A workaround for inverted digital-mic pins with Realtek codecs\n   - Removal of beep_mode\u003d2 option\n\n  ASoC:\n   - Added the ability to add and remove DAPM paths dynamically, mostly\n     for reparenting on clock changes\n   - New machine drivers for Marvell Brownstone, ST-Ericsson Ux500\n     reference platform and ttc-dkp\n   - New CPU drivers for Blackfin BF6xx SPORTs in I2S mode, Marvell MMP,\n     Synopsis Designware I2S controllers, and SPEAr DMA and S/PDIF\n   - New CODEC drivers for Dialog DA732x, ST STA529, ST-Ericsson AB8500,\n     TI Isabelle and Wolfson Microelectronics WM5102 and WM5110\n   - DAPM fixes for the recent locking changes\n   - Fix for _PRE and _POST widgets (which have been broken for a few\n     releases now)\n   - A couple of minor driver updates\n\n  Misc\n   - Conversion to new dev_pm_ops in platform and PCI drivers\n   - LTC support and some fixes in PCXHR driver\n   - A few fixes and PM support for ISA OPti9xx and WSS cards\n   - Some TLV code cleanup\n   - Move driver-specific headers from include/sound to local dirs\"\n\n* tag \u0027sound-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (212 commits)\n  ASoC: dapm: Fix _PRE and _POST events for DAPM performance improvements\n  ALSA: hda - add dock support for Thinkpad X230 Tablet\n  ALSA: hda - Turn on PIN_OUT from hdmi playback prepare.\n  ASoC imx-audmux: add MX31_AUDMUX_PORT7_SSI_PINS_7 define\n  ASoC: littlemill: Add userspace control of the WM1250 I/O\n  ASoC: wm8994: Update micdet for irqdomain conversion\n  ALSA: hda - make sure alc268 does not OOPS on codec parse\n  ALSA: hda - Add support for Realtek ALC282\n  ALSA: hda - Fix index number conflicts of phantom jacks\n  ALSA: opti9xx: Fix section mismatch by PM support\n  ALSA: snd-opti9xx: Implement suspend/resume\n  ALSA: hda - Add new GPU codec ID to snd-hda\n  ALSA: hda - Fix driver type of Haswell controller to AZX_DRIVER_SCH\n  ALSA: hda - add Haswell HDMI codec id\n  ALSA: hda - Add DeviceID for Haswell HDA\n  ALSA: wss_lib: Fix resume on Yamaha OPL3-SAx\n  ALSA: wss_lib: fix suspend/resume\n  ALSA: es1938: replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE\n  ALSA: tlv: add DECLARE_TLV_DB_RANGE()\n  ALSA: tlv: add DECLARE_TLV_CONTAINER()\n  ...\n"
    },
    {
      "commit": "d14b7a419a664cd7c1c585c9e7fffee9e9051d53",
      "tree": "42a1d5b61b58fa0a75252b082c4c6cef6fa9fd8d",
      "parents": [
        "e8ff13b0bf88b5e696323a1eec877783d965b3c6",
        "a58b3a4aba2fd5c445d9deccc73192bff48b591d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:34:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:34:56 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree from Jiri Kosina:\n \"Trivial updates all over the place as usual.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (29 commits)\n  Fix typo in include/linux/clk.h .\n  pci: hotplug: Fix typo in pci\n  iommu: Fix typo in iommu\n  video: Fix typo in drivers/video\n  Documentation: Add newline at end-of-file to files lacking one\n  arm,unicore32: Remove obsolete \"select MISC_DEVICES\"\n  module.c: spelling s/postition/position/g\n  cpufreq: Fix typo in cpufreq driver\n  trivial: typo in comment in mksysmap\n  mach-omap2: Fix typo in debug message and comment\n  scsi: aha152x: Fix sparse warning and make printing pointer address more portable.\n  Change email address for Steve Glendinning\n  Btrfs: fix typo in convert_extent_bit\n  via: Remove bogus if check\n  netprio_cgroup.c: fix comment typo\n  backlight: fix memory leak on obscure error path\n  Documentation: asus-laptop.txt references an obsolete Kconfig item\n  Documentation: ManagementStyle: fixed typo\n  mm/vmscan: cleanup comment error in balance_pgdat\n  mm: cleanup on the comments of zone_reclaim_stat\n  ...\n"
    },
    {
      "commit": "e8ff13b0bf88b5e696323a1eec877783d965b3c6",
      "tree": "aa55093da5ee435f0d2fa8ffede8973f426dbd67",
      "parents": [
        "0cd5ff591ab6473355d5a6a47f7694def28e451d",
        "c062c4d1de57789bf15f7641a24c429eeb8a1c6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:30:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:30:14 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\nPull HID updates from Jiri Kosina:\n \"The list of changes worth pointing out explicitly:\n\n  - We are getting \u0027UHID\u0027, which is a new framework for implementing HID\n    transport drivers in userspace (this is different from HIDRAW, which\n    is transport-independent and provides report parsing facilities;\n    uhid is for the other (transport) part of the pipeline).\n\n    It\u0027s needed for (and currently being used by) Bluetooth-LowEnergy,\n    as its specification mandates things we don\u0027t want in the kernel.\n\n    Written by David Herrmann.\n\n  - there have been quite a few bugs in runtime suspend/resume paths\n    (probably never reported to actually happen in the wild, but still).\n    Alan Stern fixed those.\n\n  - a few other driver updates and fixes and random new device support.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (45 commits)\n  HID: add ASUS AIO keyboard model AK1D\n  HID: add support for Cypress barcode scanner 04B4:ED81\n  HID: Allow drivers to be their own listener\n  HID: usbhid: fix error paths in suspend\n  HID: usbhid: check for suspend or reset before restarting\n  HID: usbhid: replace HID_REPORTED_IDLE with HID_SUSPENDED\n  HID: usbhid: inline some simple routines\n  HID: usbhid: fix autosuspend calls\n  HID: usbhid: fix use-after-free bug\n  HID: hid-core: optimize in case of hidraw\n  HID: hidraw: fix list-\u003ebuffer memleak\n  HID: uhid: Fix sending events with invalid data\n  HID: roccat: added sensor sysfs attribute for Savu\n  HID: Add driver for Holtek based keyboards with broken HID\n  HID: Add suport for the brightness control keys on HP keyboards\n  HID: magicmouse: Implement Multi-touch Protocol B (MT-B)\n  HID: magicmouse: Removing report_touches switch\n  HID: roccat: rename roccat_common functions to roccat_common2\n  HID: roccat: fix wrong hid_err usage on struct usb_device\n  HID: roccat: move functionality to roccat-common\n  ...\n"
    },
    {
      "commit": "0cd5ff591ab6473355d5a6a47f7694def28e451d",
      "tree": "aed0ea4fbb724f13208ed76d438518ffc9130a17",
      "parents": [
        "3539fc544f39017cf3403b9319fb4d74b5116135",
        "e30bca12573fbf54e2470723aadc047549d147ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:29:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:29:18 2012 -0700"
      },
      "message": "Merge tag \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging\n\nPull hwmon updates from Guenter Roeck:\n \"New drivers for DA9052/53 PMIC as well as HIH-6130/HIH-6131 humidity\n  and temperature sensors.\n\n  Convert drivers to use devm_ functions and to use dev_pm_ops.  Address\n  a couple of Coverity errors/warnings as well as compile warnings.\n  Some functional improvements in applesmc driver.\"\n\n* tag \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (72 commits)\n  hwmon: (applesmc) Ignore some temperature registers\n  hwmon: (applesmc) Allow negative temperature values\n  hwmon: (s3c-hwmon) Use devm_kzalloc instead of kzalloc\n  hwmon: (w83781d) Fix compile warning\n  hwmon: (applesmc) Shorten minimum wait time\n  hwmon: (exynos4_tmu) Use struct dev_pm_ops for power management\n  hwmon: (gpio-fan) Use struct dev_pm_ops for power management\n  hwmon: (abituguru3) Use struct dev_pm_ops for power management\n  hwmon: (abituguru) Use struct dev_pm_ops for power management\n  hwmon: (acpi_power_meter) Fix unintentional integer overflow\n  hwmon: (acpi_power_meter) Cleanup and optimizations\n  hwmon: Honeywell Humidicon HIH-6130/HIH-6131 humidity and temperature sensor driver\n  hwmon: (applesmc) Skip sensor mapping\n  hwmon: (ntc_thermistor) Ensure that data-\u003ename string is terminated\n  hwmon: (w83l785ts) Convert to use devm_ functions\n  hwmon: (w83l785ts) Simplify code and improve readability\n  hwmon: (smsc47m192) Convert to use devm_ functions\n  hwmon: (smsc47m1) Convert to use devm_ functions\n  hwmon: (smsc47b397) Convert to use devm_ functions\n  hwmon: (k8temp) Convert to use devm_ functions\n  ...\n"
    },
    {
      "commit": "3539fc544f39017cf3403b9319fb4d74b5116135",
      "tree": "d2bcf279d54a78479ffeb3549d8b3c45de6704e1",
      "parents": [
        "2b849570264d9f802485e327b7a4b0c52991d26a",
        "0dd6e4847ed8a42e81df6ffaa71129245a6d9d72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:26:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:26:08 2012 -0700"
      },
      "message": "Merge git://www.linux-watchdog.org/linux-watchdog\n\nPull watchdog changes from Wim Van Sebroeck:\n - conversion of iTCO_wdt and orion_wdt to the generic watchdog API\n - uses module_platform_driver() for s3c2410_wdt\n - Adds support for Jetway JNF99 Motherboard\n - various fixes\n\n* git://www.linux-watchdog.org/linux-watchdog:\n  watchdog: orion_wdt: Convert driver to watchdog core\n  watchdog: s3c2410_wdt: Use module_platform_driver()\n  watchdog: sch311x_wdt: Fix Polarity when starting watchdog\n  Watchdog: OMAP: Fix the runtime pm code to avoid module getting stuck intransition state.\n  watchdog: ie6xx_wdt: section mismatch in ie6xx_wdt_probe()\n  watchdog: bcm63xx_wdt: fix driver section mismatch\n  watchdog: iTCO_wdt.c: convert to watchdog core\n  char/ipmi: remove local ioctl defines replaced by generic ones\n  watchdog: xilinx: Read clock frequency directly from DT node\n  watchdog: coh901327_wdt: use clk_prepare/unprepare\n  watchdog: f71808e_wdt: Add support for Jetway JNF99 motherboard\n"
    },
    {
      "commit": "2b849570264d9f802485e327b7a4b0c52991d26a",
      "tree": "4f2f93a77f614877d4fc4a98a8b100fbe3dcebf0",
      "parents": [
        "62c4d9afa4bcf5315e2745a17a0228bf65b9ba40",
        "1d00015e268f9142de0b504b3e4a4905155276f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:15:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:15:25 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.6-rc0-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm\n\nPull frontswap updates from Konrad Rzeszutek Wilk:\n \"Cleanups in code and documentation.  Little bit of refactoring for\n  cleaner look.\"\n\n* tag \u0027stable/for-linus-3.6-rc0-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm:\n  mm/frontswap: cleanup doc and comment error\n  mm: frontswap: remove unneeded headers\n  mm: frontswap: split out function to clear a page out\n  mm: frontswap: remove unnecessary check during initialization\n  mm: frontswap: make all branches of if statement in put page consistent\n  mm: frontswap: split frontswap_shrink further to simplify locking\n  mm: frontswap: split out __frontswap_unuse_pages\n  mm: frontswap: split out __frontswap_curr_pages\n  mm: frontswap: trivial coding convention issues\n  mm: frontswap: remove casting from function calls through ops structure\n"
    },
    {
      "commit": "62c4d9afa4bcf5315e2745a17a0228bf65b9ba40",
      "tree": "a7b9d97283441ea5f0c738fa388e120c4c1491b6",
      "parents": [
        "5fecc9d8f59e765c2a48379dd7c6f5cf88c7d75a",
        "c3d93f880197953f86ab90d9da4744e926b38e33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:14:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:14:03 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.6-rc0-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nPull Xen update from Konrad Rzeszutek Wilk:\n \"Features:\n   * Performance improvement to lower the amount of traps the hypervisor\n     has to do 32-bit guests.  Mainly for setting PTE entries and\n     updating TLS descriptors.\n   * MCE polling driver to collect hypervisor MCE buffer and present\n     them to /dev/mcelog.\n   * Physical CPU online/offline support.  When an privileged guest is\n     booted it is present with virtual CPUs, which might have an 1:1 to\n     physical CPUs but usually don\u0027t.  This provides mechanism to\n     offline/online physical CPUs.\n  Bug-fixes for:\n   * Coverity found fixes in the console and ACPI processor driver.\n   * PVonHVM kexec fixes along with some cleanups.\n   * Pages that fall within E820 gaps and non-RAM regions (and had been\n     released to hypervisor) would be populated back, but potentially in\n     non-RAM regions.\"\n\n* tag \u0027stable/for-linus-3.6-rc0-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: populate correct number of pages when across mem boundary (v2)\n  xen PVonHVM: move shared_info to MMIO before kexec\n  xen: simplify init_hvm_pv_info\n  xen: remove cast from HYPERVISOR_shared_info assignment\n  xen: enable platform-pci only in a Xen guest\n  xen/pv-on-hvm kexec: shutdown watches from old kernel\n  xen/x86: avoid updating TLS descriptors if they haven\u0027t changed\n  xen/x86: add desc_equal() to compare GDT descriptors\n  xen/mm: zero PTEs for non-present MFNs in the initial page table\n  xen/mm: do direct hypercall in xen_set_pte() if batching is unavailable\n  xen/hvc: Fix up checks when the info is allocated.\n  xen/acpi: Fix potential memory leak.\n  xen/mce: add .poll method for mcelog device driver\n  xen/mce: schedule a workqueue to avoid sleep in atomic context\n  xen/pcpu: Xen physical cpus online/offline sys interface\n  xen/mce: Register native mce handler as vMCE bounce back point\n  x86, MCE, AMD: Adjust initcall sequence for xen\n  xen/mce: Add mcelog support for Xen platform\n"
    },
    {
      "commit": "5fecc9d8f59e765c2a48379dd7c6f5cf88c7d75a",
      "tree": "d1fc25d9650d3ac24591bba6f5e2e7a1afc54796",
      "parents": [
        "3c4cfadef6a1665d9cd02a543782d03d3e6740c6",
        "1a577b72475d161b6677c05abe57301362023bb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 12:01:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 12:01:20 2012 -0700"
      },
      "message": "Merge tag \u0027kvm-3.6-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Avi Kivity:\n \"Highlights include\n  - full big real mode emulation on pre-Westmere Intel hosts (can be\n    disabled with emulate_invalid_guest_state\u003d0)\n  - relatively small ppc and s390 updates\n  - PCID/INVPCID support in guests\n  - EOI avoidance; 3.6 guests should perform better on 3.6 hosts on\n    interrupt intensive workloads)\n  - Lockless write faults during live migration\n  - EPT accessed/dirty bits support for new Intel processors\"\n\nFix up conflicts in:\n - Documentation/virtual/kvm/api.txt:\n\n   Stupid subchapter numbering, added next to each other.\n\n - arch/powerpc/kvm/booke_interrupts.S:\n\n   PPC asm changes clashing with the KVM fixes\n\n - arch/s390/include/asm/sigp.h, arch/s390/kvm/sigp.c:\n\n   Duplicated commits through the kvm tree and the s390 tree, with\n   subsequent edits in the KVM tree.\n\n* tag \u0027kvm-3.6-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (93 commits)\n  KVM: fix race with level interrupts\n  x86, hyper: fix build with !CONFIG_KVM_GUEST\n  Revert \"apic: fix kvm build on UP without IOAPIC\"\n  KVM guest: switch to apic_set_eoi_write, apic_write\n  apic: add apic_set_eoi_write for PV use\n  KVM: VMX: Implement PCID/INVPCID for guests with EPT\n  KVM: Add x86_hyper_kvm to complete detect_hypervisor_platform check\n  KVM: PPC: Critical interrupt emulation support\n  KVM: PPC: e500mc: Fix tlbilx emulation for 64-bit guests\n  KVM: PPC64: booke: Set interrupt computation mode for 64-bit host\n  KVM: PPC: bookehv: Add ESR flag to Data Storage Interrupt\n  KVM: PPC: bookehv64: Add support for std/ld emulation.\n  booke: Added crit/mc exception handler for e500v2\n  booke/bookehv: Add host crit-watchdog exception support\n  KVM: MMU: document mmu-lock and fast page fault\n  KVM: MMU: fix kvm_mmu_pagetable_walk tracepoint\n  KVM: MMU: trace fast page fault\n  KVM: MMU: fast path of handling guest page fault\n  KVM: MMU: introduce SPTE_MMU_WRITEABLE bit\n  KVM: MMU: fold tlb flush judgement into mmu_spte_update\n  ...\n"
    },
    {
      "commit": "3c4cfadef6a1665d9cd02a543782d03d3e6740c6",
      "tree": "3df72faaacd494d5ac8c9668df4f529b1b5e4457",
      "parents": [
        "e017507f37d5cb8b541df165a824958bc333bec3",
        "320f5ea0cedc08ef65d67e056bcb9d181386ef2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 10:01:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 10:01:50 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking changes from David S Miller:\n\n 1) Remove the ipv4 routing cache.  Now lookups go directly into the FIB\n    trie and use prebuilt routes cached there.\n\n    No more garbage collection, no more rDOS attacks on the routing\n    cache.  Instead we now get predictable and consistent performance,\n    no matter what the pattern of traffic we service.\n\n    This has been almost 2 years in the making.  Special thanks to\n    Julian Anastasov, Eric Dumazet, Steffen Klassert, and others who\n    have helped along the way.\n\n    I\u0027m sure that with a change of this magnitude there will be some\n    kind of fallout, but such things ought the be simple to fix at this\n    point.  Luckily I\u0027m not European so I\u0027ll be around all of August to\n    fix things :-)\n\n    The major stages of this work here are each fronted by a forced\n    merge commit whose commit message contains a top-level description\n    of the motivations and implementation issues.\n\n 2) Pre-demux of established ipv4 TCP sockets, saves a route demux on\n    input.\n\n 3) TCP SYN/ACK performance tweaks from Eric Dumazet.\n\n 4) Add namespace support for netfilter L4 conntrack helpers, from Gao\n    Feng.\n\n 5) Add config mechanism for Energy Efficient Ethernet to ethtool, from\n    Yuval Mintz.\n\n 6) Remove quadratic behavior from /proc/net/unix, from Eric Dumazet.\n\n 7) Support for connection tracker helpers in userspace, from Pablo\n    Neira Ayuso.\n\n 8) Allow userspace driven TX load balancing functions in TEAM driver,\n    from Jiri Pirko.\n\n 9) Kill off NLMSG_PUT and RTA_PUT macros, more gross stuff with\n    embedded gotos.\n\n10) TCP Small Queues, essentially minimize the amount of TCP data queued\n    up in the packet scheduler layer.  Whereas the existing BQL (Byte\n    Queue Limits) limits the pkt_sched --\u003e netdevice queuing levels,\n    this controls the TCP --\u003e pkt_sched queueing levels.\n\n    From Eric Dumazet.\n\n11) Reduce the number of get_page/put_page ops done on SKB fragments,\n    from Alexander Duyck.\n\n12) Implement protection against blind resets in TCP (RFC 5961), from\n    Eric Dumazet.\n\n13) Support the client side of TCP Fast Open, basically the ability to\n    send data in the SYN exchange, from Yuchung Cheng.\n\n    Basically, the sender queues up data with a sendmsg() call using\n    MSG_FASTOPEN, then they do the connect() which emits the queued up\n    fastopen data.\n\n14) Avoid all the problems we get into in TCP when timers or PMTU events\n    hit a locked socket.  The TCP Small Queues changes added a\n    tcp_release_cb() that allows us to queue work up to the\n    release_sock() caller, and that\u0027s what we use here too.  From Eric\n    Dumazet.\n\n15) Zero copy on TX support for TUN driver, from Michael S. Tsirkin.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1870 commits)\n  genetlink: define lockdep_genl_is_held() when CONFIG_LOCKDEP\n  r8169: revert \"add byte queue limit support\".\n  ipv4: Change rt-\u003ert_iif encoding.\n  net: Make skb-\u003eskb_iif always track skb-\u003edev\n  ipv4: Prepare for change of rt-\u003ert_iif encoding.\n  ipv4: Remove all RTCF_DIRECTSRC handliing.\n  ipv4: Really ignore ICMP address requests/replies.\n  decnet: Don\u0027t set RTCF_DIRECTSRC.\n  net/ipv4/ip_vti.c: Fix __rcu warnings detected by sparse.\n  ipv4: Remove redundant assignment\n  rds: set correct msg_namelen\n  openvswitch: potential NULL deref in sample()\n  tcp: dont drop MTU reduction indications\n  bnx2x: Add new 57840 device IDs\n  tcp: avoid oops in tcp_metrics and reset tcpm_stamp\n  niu: Change niu_rbr_fill() to use unlikely() to check niu_rbr_add_page() return value\n  niu: Fix to check for dma mapping errors.\n  net: Fix references to out-of-scope variables in put_cmsg_compat()\n  net: ethernet: davinci_emac: add pm_runtime support\n  net: ethernet: davinci_emac: Remove unnecessary #include\n  ...\n"
    },
    {
      "commit": "e017507f37d5cb8b541df165a824958bc333bec3",
      "tree": "87ab0986474486623d9957efda9f3f9ea3b14069",
      "parents": [
        "759e2a253aaefbb6da9253d517a5a8fe1801ce0f",
        "27f6b416626a240e1b46f646d2e0c5266f4eac95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 09:49:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 09:49:09 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux\n\nPull s390 changes from Martin Schwidefsky:\n \"No new functions, a few changes to make the code more robust, some\n  cleanups and bug fixes.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (21 commits)\n  s390/vtimer: rework virtual timer interface\n  s390/dis: Add the servc instruction to the disassembler.\n  s390/comments: unify copyright messages and remove file names\n  s390/lgr: Add init check to lgr_info_log()\n  s390/cpu init: use __get_cpu_var instead of per_cpu\n  s390/idle: reduce size of s390_idle_data structure\n  s390/idle: fix sequence handling vs cpu hotplug\n  s390/ap: resend enable adapter interrupt request.\n  s390/hypfs: Add missing get_next_ino()\n  s390/dasd: add shutdown action\n  s390/ipl: Fix ipib handling for \"dumpreipl\" shutdown action\n  s390/smp: make absolute lowcore / cpu restart parameter accesses more robust\n  s390/vmlogrdr: cleanup driver attribute usage\n  s390/vmlogrdr: cleanup device attribute usage\n  s390/ccwgroup: remove unused ccwgroup_device member\n  s390/cio/chp: cleanup attribute usage\n  s390/sigp: use sigp order code defines in assembly code\n  s390/smp: use sigp cpu status definitions\n  s390/smp/kvm: unifiy sigp definitions\n  s390/smp: remove redundant check\n  ...\n"
    },
    {
      "commit": "759e2a253aaefbb6da9253d517a5a8fe1801ce0f",
      "tree": "a94099df1b69fda8899030adf12ab88931aad822",
      "parents": [
        "90e66dd93d53f346e6f652f6eb6512f576917ee7",
        "719154c6d1c1a3a404f4ff570c4b36bb2ef868ca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 09:39:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 09:39:54 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin\n\nPull blackfin changes from Bob Liu:\n \"The big changes are adding PM and HDMI support for bf60x, other\n  patches are various bug fix and code cleanup.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin: (48 commits)\n  bf60x: fix build warning\n  PM: add BF60x flash suspend and resume support\n  blackfin: twi: read twi mmr via bfin_read macro\n  dpm: deepsleep: reserve stack\n  bf60x: cpufreq: fix anomaly 05000273\n  bf609: add adv7511 display support\n  blackfin: cplb-nompu: fix ROM cplb size for bf609-ezkit\n  bf60x: Add double fault, hardware error and NMI SEC handler\n  bf60x: update anomaly id in serial and twi driver headers.\n  bf60x: vs6624 pin update\n  bf60x: add default anomaly setting.\n  bf60x: update bf60x anomaly list.\n  bf60x: sec: Enable sec interrupt source priority configuration.\n  bf60x: sec: Clean up interrupt initialization code for SEC.\n  bf609: reuse bf5xx-i2s-pcm.c as i2s pcm driver\n  bf561: add capabilities in adv7183_inputs\n  bf609: convert vs6624 blank_clocks to black_pixels\n  blackfin: fix musb macro name\n  cleanup: sec and linkport only built on bf60x\n  bfin: pint: add pint suspend and resume\n  ...\n"
    },
    {
      "commit": "90e66dd93d53f346e6f652f6eb6512f576917ee7",
      "tree": "472026acf37968983415dae8f03948eb8a211fe7",
      "parents": [
        "f0a08fcb5972167e55faa330c4a24fbaa3328b1f",
        "b9b8722d4704137d1c85b8e62364b487cbbe8bf0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 09:30:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 09:30:27 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://linux-c6x.org/git/projects/linux-c6x-upstreaming\n\nPull C6X changes from Mark Salter:\n\n  - remove use of legacy irqs which really wasn\u0027t needed\n  - add support for C66x SoC on EVMC6678 board\n  - clean up compiler warning\n\n* tag \u0027for-linus\u0027 of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:\n  C6X: clean up compiler warning\n  C6X: add basic support for TMS320C6678 SoC\n  C6X: remove dependence on legacy IRQs\n  C6X: remove megamod-pic requirement on direct-mapped core pic\n"
    },
    {
      "commit": "fb604a3d58b79ef722942f664f11dee5e1f73ea4",
      "tree": "f9e1f081d7c1b4f16e3274ce20e8574e1c18d04a",
      "parents": [
        "72fc2c7f78b0c365454e60ad33b0e74aea43e3ab"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "message": "i2c-omap: Add support for I2C_M_STOP message flag\n\nGenerate a stop condition after each message marked with I2C_M_STOP.\n\n[JD: Add I2C_FUNC_PROTOCOL_MANGLING.]\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "72fc2c7f78b0c365454e60ad33b0e74aea43e3ab",
      "tree": "b4416754f881f49b0e4cdb3585ed1f598c5a6c56",
      "parents": [
        "d47726c52122d64253ae56e0fafdb7d0b954e97c"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "message": "i2c: Fall back to emulated SMBus if the operation isn\u0027t supported natively\n\nAdapter drivers might support only a subset of the SMBus operations\nnatively. Those drivers currently have to manually emulate unsupported\noperations using I2C.\n\nMake the i2c_smbus_xfer() function fall back to\ni2c_smbus_xfer_emulated() when the adapter\u0027s .smbus_xfer() operation\nreturns -EOPNOTSUPP, like it already does when the .smbus_xfer()\noperation isn\u0027t available at all.\n\n[JD: Minor optimization.]\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "d47726c52122d64253ae56e0fafdb7d0b954e97c",
      "tree": "def321285e0ef7f45772348fe7054942abfc81c8",
      "parents": [
        "68a7602f098c30cc27fbc336db575af63f1be07b"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "message": "i2c: Add SCCB support\n\nSCCB is a serial communication bus developed by Omnivision. Its 2-wire\nmode is very similar to SMBus byte data transactions, but requires the\ncontroller to ignore the ACK bit and to insert a stop condition after\neach message.\n\nAdd a device SCCB flag and a message stop flag to be passed to\ncontroller drivers.\n\n[JD: Kill rogue definition in go7007 driver.]\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "68a7602f098c30cc27fbc336db575af63f1be07b",
      "tree": "af0605379504164dcc6c51219273d212569d957f",
      "parents": [
        "d3ff6ce40031e8401eab60c3de7db9b1f3f4c08b"
      ],
      "author": {
        "name": "Emmanuel Deloget",
        "email": "logout@free.fr",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "message": "i2c-tiny-usb: Add support for the Robofuzz OSIF USB/I2C converter\n\nRobofuzz OSIF is a generic USB/iIC interface that embeds an ATMega8A\nAVR-RISC microcontroler.\n\nThe device is based upon Till Harbaum\u0027s i2c-tiny-usb and although it\nenhances the original design with further functionnalities it still\nmaintain compatibility with it with respect to the USB/I2C interface.\n\nSigned-off-by: Emmanuel Deloget \u003clogout@free.fr\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "d3ff6ce40031e8401eab60c3de7db9b1f3f4c08b",
      "tree": "4fbbf4ae24c37638bb51001600caa2843139ddbf",
      "parents": [
        "29b608540b030d38a978c972cbe99d40efdb7267"
      ],
      "author": {
        "name": "Daniel Kurtz",
        "email": "djkurtz@chromium.org",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "message": "i2c-i801: Enable IRQ for byte_by_byte transactions\n\nByte-by-byte transactions are used primarily for accessing I2C devices\nwith an SMBus controller.  For these transactions, for each byte that is\nread or written, the SMBus controller generates a BYTE_DONE IRQ.  The isr\nreads/writes the next byte, and clears the IRQ flag to start the next byte.\nOn the penultimate IRQ, the isr also sets the LAST_BYTE flag.\n\nThere is no locking around the cmd/len/count/data variables, since the\nI2C adapter lock ensures there is never multiple simultaneous transactions\nfor the same device, and the driver thread never accesses these variables\nwhile interrupts might be occurring.\n\nThe end result is faster I2C block read and write transactions.\n\nNote: This patch has only been tested and verified by doing I2C read and\nwrite block transfers on Cougar Point 6 Series PCH, as well as I2C read\nblock transfers on ICH5.\n\nSigned-off-by: Daniel Kurtz \u003cdjkurtz@chromium.org\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "29b608540b030d38a978c972cbe99d40efdb7267",
      "tree": "df817d0745398435629f4bb8b7c8334137e18f7f",
      "parents": [
        "636752bcb5177a301d0266270661581de8624828"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:59 2012 +0200"
      },
      "message": "i2c-i801: Enable interrupts on ICH5/7/8/9/10\n\nEnable interrupts on more devices. ICH5, ICH7(-M) and ICH10 have been\ntested to work OK. ICH8 and ICH9 are expected to work just fine as\nthey are very close to ICH7 and ICH10.\n\nUltimately we want to enable this feature on at least every device\nsince the ICH5, but for now we limit the exposure. We\u0027ll enable it for\nother devices if we don\u0027t get negative feedback.\n\nAs a bonus, let the user know when interrupts are used.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Daniel Kurtz \u003cdjkurtz@chromium.org\u003e\n"
    },
    {
      "commit": "636752bcb5177a301d0266270661581de8624828",
      "tree": "6277793c24520d0f08a126554e773605a4b4f2ac",
      "parents": [
        "6cad93c4bbd62ecfa2e1b3a95c1ac4f6f27764c7"
      ],
      "author": {
        "name": "Daniel Kurtz",
        "email": "djkurtz@chromium.org",
        "time": "Tue Jul 24 14:13:58 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:58 2012 +0200"
      },
      "message": "i2c-i801: Enable IRQ for SMBus transactions\n\nAdd a new \u0027feature\u0027 to i2c-i801 to enable using PCI interrupts.\nWhen the feature is enabled, then an isr is installed for the device\u0027s\nPCI IRQ.\n\nAn I2C/SMBus transaction is always terminated by one of the following\ninterrupt sources: FAILED, BUS_ERR, DEV_ERR, or on success: INTR.\n\nWhen the isr fires for one of these cases, it sets the -\u003estatus variable\nand wakes up the waitq.  The waitq then saves off the status code, and\nclears -\u003estatus (in preparation for some future transaction).\nThe SMBus controller generates an INTR irq at the end of each\ntransaction where INTREN was set in the HST_CNT register.\n\nNo locking is needed around accesses to priv-\u003estatus since all writes to\nit are serialized: it is only ever set once in the isr at the end of a\ntransaction, and cleared while no interrupts can occur.  In addition, the\nI2C adapter lock guarantees that entire I2C transactions for a single\nadapter are always serialized.\n\nFor this patch, the INTREN bit is set only for SMBus block, byte and word\ntransactions, but not for I2C reads or writes.  The use of the DS\n(BYTE_DONE) interrupt with byte-by-byte I2C transactions is implemented in\na subsequent patch.\n\nThe interrupt feature has only been enabled for COUGARPOINT hardware.\nIn addition, it is disabled if SMBus is using the SMI# interrupt.\n\nSigned-off-by: Daniel Kurtz \u003cdjkurtz@chromium.org\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "6cad93c4bbd62ecfa2e1b3a95c1ac4f6f27764c7",
      "tree": "1b9a3e650be2333d68fe61673c09daf925c16e76",
      "parents": [
        "37af871112e1dec1e39dfac782f0be5926be1c88"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Jul 24 14:13:58 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:58 2012 +0200"
      },
      "message": "i2c-i801: Consolidate polling\n\n(Based on earlier work by Daniel Kurtz.)\n\nCome up with a consistent, driver-wide strategy for event polling. For\nintermediate steps of byte-by-byte block transactions, check for\nBYTE_DONE or any error flag being set. At the end of every transaction\n(regardless of PEC being used), check for both BUSY being cleared and\nINTR or any error flag being set. This ensures proper action for all\ntransaction types.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Daniel Kurtz \u003cdjkurtz@chromium.org\u003e\n"
    },
    {
      "commit": "37af871112e1dec1e39dfac782f0be5926be1c88",
      "tree": "ceea12fef1f8a412509ae903cacb8d30b248ed9f",
      "parents": [
        "edbeea63839cf0ea169c3e0737d49a96b2ca8388"
      ],
      "author": {
        "name": "Daniel Kurtz",
        "email": "djkurtz@chromium.org",
        "time": "Tue Jul 24 14:13:58 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:58 2012 +0200"
      },
      "message": "i2c-i801: Drop ENABLE_INT9\n\nLater patches enable interrupts.  This preliminary patch removes the older\nunsupported ENABLE_INT9 flag.\n\nSigned-off-by: Daniel Kurtz \u003cdjkurtz@chromium.org\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "edbeea63839cf0ea169c3e0737d49a96b2ca8388",
      "tree": "0b62790ab16a4a7e0d081695036645786c906237",
      "parents": [
        "70a1cc1952355404a5746c88757f5a444df52b04"
      ],
      "author": {
        "name": "Daniel Kurtz",
        "email": "djkurtz@chromium.org",
        "time": "Tue Jul 24 14:13:58 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:58 2012 +0200"
      },
      "message": "i2c-i801: Rename some SMBHSTCNT bit constants\n\nRename the SMBHSTCNT register bit access constants to match the style of\nother register bits.\n\nSigned-off-by: Daniel Kurtz \u003cdjkurtz@chromium.org\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "70a1cc1952355404a5746c88757f5a444df52b04",
      "tree": "b97d76988c4ac5781faf3edd8bde4021eadc1ad1",
      "parents": [
        "0ba8b8bfd56533f0b9af7513c6ebbc10c79ae052"
      ],
      "author": {
        "name": "Daniel Kurtz",
        "email": "djkurtz@chromium.org",
        "time": "Tue Jul 24 14:13:58 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Tue Jul 24 14:13:58 2012 +0200"
      },
      "message": "i2c-i801: Check and return errors during byte-by-byte transfers\n\nIf an error is detected in the polling loop, abort the transaction and\nreturn an error code.\n\n * DEV_ERR is set if the device does not respond with an acknowledge, and\nthe SMBus controller times out (minimum 25ms).\n * BUS_ERR is set if a bus arbitration collision is detected.  In other\nwords, when the SMBus controller tries to generate a START condition, but\ndetects that the SMBDATA is being held low, usually by another SMBus/I2C\nmaster.\n * FAILED is only set if a transaction is stopped by software (using\nthe SMBHSTCNT KILL bit).\n\nSigned-off-by: Daniel Kurtz \u003cdjkurtz@chromium.org\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    }
  ],
  "next": "0ba8b8bfd56533f0b9af7513c6ebbc10c79ae052"
}
