)]}'
{
  "log": [
    {
      "commit": "67e2e2b281812b5caf4923a38aadc6b89e34f064",
      "tree": "c04255840de5e70a0aa2880d1f1c8bfe1b2e7817",
      "parents": [
        "104655fd4dcebd50068ef30253a001da72e3a081"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Wed Mar 28 18:41:29 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:29 2012 +0100"
      },
      "message": "dm thin: add pool target flags to control discard\n\nAdd dm thin target arguments to control discard support.\n\nignore_discard: Disables discard support\n\nno_discard_passdown: Don\u0027t pass discards down to the underlying data\ndevice, but just remove the mapping within the thin provisioning target.\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": "104655fd4dcebd50068ef30253a001da72e3a081",
      "tree": "ce4cc70f3ecf643d1c63948f902bc135b17750c7",
      "parents": [
        "eb2aa48d4eb7aee63cba201bf47641dad3e92250"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Wed Mar 28 18:41:28 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:28 2012 +0100"
      },
      "message": "dm thin: support discards\n\nSupport discards in the thin target.\n\nOn discard the corresponding mapping(s) are removed from the thin\ndevice.  If the associated block(s) are no longer shared the discard\nis passed to the underlying device.\n\nAll bios other than discards now have an associated deferred_entry\nthat is saved to the \u0027all_io_entry\u0027 in endio_hook.  When non-discard\nIO completes and associated mappings are quiesced any discards that\nwere deferred, via ds_add_work() in process_discard(), will be queued\nfor processing by the worker thread.\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\ndrivers/md/dm-thin.c |  173 ++++++++++++++++++++++++++++++++++++++++++++++----\n drivers/md/dm-thin.c |  172 ++++++++++++++++++++++++++++++++++++++++++++++-----\n 1 file changed, 158 insertions(+), 14 deletions(-)\n"
    },
    {
      "commit": "eb2aa48d4eb7aee63cba201bf47641dad3e92250",
      "tree": "3e160010319f6c4eb30770d07d6fb089955f5704",
      "parents": [
        "6efd6e83092cd4a7532270bc843de90bb93f6683"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Wed Mar 28 18:41:28 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:28 2012 +0100"
      },
      "message": "dm thin: prepare to support discard\n\nThis patch contains the ground work needed for dm-thin to support discard.\n\n  - Adds endio function that replaces shared_read_endio.\n\n  - Introduce an explicit \u0027quiesced\u0027 flag into the new_mapping structure.\n    Before, this was implicitly indicated by m-\u003elist being empty.\n\n  - The map_info-\u003eptr remains constant for the duration of a bio\u0027s trip\n    through the thin target.  Make it easier to reason about 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": "6efd6e83092cd4a7532270bc843de90bb93f6683",
      "tree": "129b9de5d03a11f0bf02feb3743a10e4fe8561d5",
      "parents": [
        "2dd9c257fbc243aa76ee6db0bb8371f9f74fad2d"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:28 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:28 2012 +0100"
      },
      "message": "dm thin: use dm_target_offset\n\nUse dm_target_offset wrapper instead of referencing the awkward ti-\u003ebegin\nexplicitly.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "2dd9c257fbc243aa76ee6db0bb8371f9f74fad2d",
      "tree": "51c82de6e41b4f53f9d41dfe1211c4feba55dc6d",
      "parents": [
        "c4a69ecdb463a901b4645230613961e134e897cd"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Wed Mar 28 18:41:28 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:28 2012 +0100"
      },
      "message": "dm thin: support read only external snapshot origins\n\nSupport the use of an external _read only_ device as an origin for a thin\ndevice.\n\nAny read to an unprovisioned area of the thin device will be passed\nthrough to the origin.  Writes trigger allocation of new blocks as\nusual.\n\nOne possible use case for this would be VM hosts that want to run\nguests on thinly-provisioned volumes but have the base image on another\ndevice (possibly shared between many VMs).\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": "c4a69ecdb463a901b4645230613961e134e897cd",
      "tree": "c53e0a569f3d390ea2a97f964225d5383c6401ec",
      "parents": [
        "71fd5ae25d88841c08d5bbea90c0f0a12ca05509"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Wed Mar 28 18:41:28 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:28 2012 +0100"
      },
      "message": "dm thin: relax hard limit on the maximum size of a metadata device\n\nThe thin metadata format can only make use of a device that is \u003c\u003d\nTHIN_METADATA_MAX_SECTORS (currently 15.9375 GB).  Therefore, there is no\npractical benefit to using a larger device.\n\nHowever, it may be that other factors impose a certain granularity for\nthe space that is allocated to a device (E.g. lvm2 can impose a coarse\ngranularity through the use of large, \u003e\u003d 1 GB, physical extents).\n\nRather than reject a larger metadata device, during thin-pool device\nconstruction, switch to allowing it but issue a warning if a device\nlarger than THIN_METADATA_MAX_SECTORS_WARNING (16 GB) is\nprovided.  Any space over 15.9375 GB will not be used.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "905e51b39a5558706a6ed883fe104de3d417050b",
      "tree": "d8e1d9fcdba66942333f099618e6acc5be238538",
      "parents": [
        "31998ef19385c944600d9a981b96252f98204bee"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Wed Mar 28 18:41:27 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:27 2012 +0100"
      },
      "message": "dm thin: commit outstanding data every second\n\nCommit unwritten data every second to prevent too much building up.\n\nReleased blocks don\u0027t become available until after the next commit\n(for crash resilience).  Prior to this patch commits were only\ntriggered by a message to the target or a REQ_{FLUSH,FUA} bio.  This\nallowed far too big a position to build up.\n\nThe interval is hard-coded to 1 second.  This is a sensible setting.\nI\u0027m not making this user configurable, since there isn\u0027t much to be\ngained by tweaking this - and a lot lost by setting it far too high.\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": "fe878f34df89ad4af758f40bbec829807dc93a00",
      "tree": "eaa377c640fd595391491725ab477f29062374b1",
      "parents": [
        "035220b33d6865d81d5433600def53373cca7127"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Wed Mar 28 18:41:24 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:24 2012 +0100"
      },
      "message": "dm thin: correct comments\n\nRemove documentation for unimplemented \u0027trim\u0027 message.\n\nI\u0027d planned a \u0027trim\u0027 target message for shrinking thin devices, but\nthis is better handled via the discard ioctl.\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": "6f94a4c45a6f744383f9f695dde019998db3df55",
      "tree": "7e4982a066935a2434780b5e34fb24fb15e533f0",
      "parents": [
        "72c6e7afc43e19f68a31dea204fc366624d6eee9"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "ejt@redhat.com",
        "time": "Wed Mar 28 18:41:23 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:23 2012 +0100"
      },
      "message": "dm thin: fix stacked bi_next usage\n\nAvoid using the bi_next field for the holder of a cell when deferring\nbios because a stacked device below might change it.  Store the\nholder in a new field in struct cell instead.\n\nWhen a cell is created, the bio that triggered creation (the holder) was\nadded to the same bio list as subsequent bios.  In some cases we pass\nthis holder bio directly to devices underneath.  If those devices use\nthe bi_next field there will be trouble...\n\nThis also simplifies some code that had to work out which bio was the\nholder.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "991d9fa02da0dd1f843dc011376965e0c8c6c9b5",
      "tree": "a64c94710246b77bb74cd77634581cea3d32cfe1",
      "parents": [
        "3241b1d3e0aaafbfcd320f4d71ade629728cc4f4"
      ],
      "author": {
        "name": "Joe Thornber",
        "email": "thornber@redhat.com",
        "time": "Mon Oct 31 20:21:18 2011 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Oct 31 20:21:18 2011 +0000"
      },
      "message": "dm: add thin provisioning target\n\nInitial EXPERIMENTAL implementation of device-mapper thin provisioning\nwith snapshot support.  The \u0027thin\u0027 target is used to create instances of\nthe virtual devices that are hosted in the \u0027thin-pool\u0027 target.  The\nthin-pool target provides data sharing among devices.  This sharing is\nmade possible using the persistent-data library in the previous patch.\n\nThe main highlight of this implementation, compared to the previous\nimplementation of snapshots, is that it allows many virtual devices to\nbe stored on the same data volume, simplifying administration and\nallowing sharing of data between volumes (thus reducing disk usage).\n\nAnother big feature is support for arbitrary depth of recursive\nsnapshots (snapshots of snapshots of snapshots ...).  The previous\nimplementation of snapshots did this by chaining together lookup tables,\nand so performance was O(depth).  This new implementation uses a single\ndata structure so we don\u0027t get this degradation with depth.\n\nFor further information and examples of how to use this, please read\nDocumentation/device-mapper/thin-provisioning.txt\n\nSigned-off-by: Joe Thornber \u003cthornber@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    }
  ]
}
