)]}'
{
  "commit": "b8112c1e5d7658f3f6a300f6efeb5fae6ec135eb",
  "tree": "c2b6408bd6e293e4f156dd8c3d9f8ea4b6ea7ceb",
  "parents": [
    "16f4e2001c2135a5eeb3b52e7a56e4a2358dc1ad"
  ],
  "author": {
    "name": "Joe Thornber",
    "email": "ejt@redhat.com",
    "time": "Thu Apr 16 12:58:35 2015 +0100"
  },
  "committer": {
    "name": "Mike Snitzer",
    "email": "snitzer@redhat.com",
    "time": "Thu May 28 12:04:13 2015 -0400"
  },
  "message": "dm thin: range discard support\n\nPreviously REQ_DISCARD bios have been split into block sized chunks\nbefore submission to the thin target.  There are a couple of issues with\nthis:\n\n - If the block size is small, a large discard request can\n   get broken up into a great many bios which is both slow and causes\n   a lot of memory pressure.\n\n - The thin pool block size and the discard granularity for the\n   underlying data device need to be compatible if we want to passdown\n   the discard.\n\nThis patch relaxes the block size granularity for thin devices.  It\nmakes use of the recent range locking added to the bio_prison to\nquiesce a whole range of thin blocks before unmapping them.  Once a\nthin range has been unmapped the discard can then be passed down to\nthe data device for those sub ranges where the data blocks are no\nlonger used (ie. they weren\u0027t shared in the first place).\n\nThis patch also doesn\u0027t make any apologies about open-coding portions\nof block core as a means to supporting async discard completions in the\nnear-term -- if/when late bio splitting lands it\u0027ll all get cleaned up.\n\nSigned-off-by: Joe Thornber \u003cejt@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "507f342e3db8377c22b8dedd863cb725190e88d0",
      "old_mode": 33188,
      "old_path": "drivers/md/dm-thin.c",
      "new_id": "b6b3b82afd4c1768e5fdc0e8b1c3b6c82b6c192f",
      "new_mode": 33188,
      "new_path": "drivers/md/dm-thin.c"
    }
  ]
}
