)]}'
{
  "commit": "1122a26f2abe4245ccdaed95ec23f63fe086b332",
  "tree": "ad06f119f283cf8a6313681055e8132ba2851ddb",
  "parents": [
    "3bd0f0c763e497c8674b28e3df2732f48683dabd"
  ],
  "author": {
    "name": "Christoph Hellwig",
    "email": "hch@infradead.org",
    "time": "Wed Sep 30 13:52:12 2009 +0200"
  },
  "committer": {
    "name": "Jens Axboe",
    "email": "jens.axboe@oracle.com",
    "time": "Thu Oct 01 21:15:46 2009 +0200"
  },
  "message": "block: use normal I/O path for discard requests\n\nprepare_discard_fn() was being called in a place where memory allocation\nwas effectively impossible.  This makes it inappropriate for all but\nthe most trivial translations of Linux\u0027s DISCARD operation to the block\ncommand set.  Additionally adding a payload there makes the ownership\nof the bio backing unclear as it\u0027s now allocated by the device driver\nand not the submitter as usual.\n\nIt is replaced with QUEUE_FLAG_DISCARD which is used to indicate whether\nthe queue supports discard operations or not.  blkdev_issue_discard now\nallocates a one-page, sector-length payload which is the right thing\nfor the common ATA and SCSI implementations.\n\nThe mtd implementation of prepare_discard_fn() is replaced with simply\nchecking for the request being a discard.\n\nLargely based on a previous patch from Matthew Wilcox \u003cmatthew@wil.cx\u003e\nwhich did the prepare_discard_fn but not the different payload allocation\nyet.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6593ab39cfe9223b106d3b5a897937e58176e6b1",
      "old_mode": 33188,
      "old_path": "block/blk-barrier.c",
      "new_id": "21f5025c3945053d4b6cae40d5eac9b614b9a55b",
      "new_mode": 33188,
      "new_path": "block/blk-barrier.c"
    },
    {
      "type": "modify",
      "old_id": "8135228e4b2907e15f8a8ff5199de3fa8e5f40cd",
      "old_mode": 33188,
      "old_path": "block/blk-core.c",
      "new_id": "80a020dd1580e43c77221792a6fb981fb3cb2533",
      "new_mode": 33188,
      "new_path": "block/blk-core.c"
    },
    {
      "type": "modify",
      "old_id": "eaf122ff5f16b67d2339acdd2186a4544795213a",
      "old_mode": 33188,
      "old_path": "block/blk-settings.c",
      "new_id": "d29498ef1eb559a39ff824347daef9a03762d324",
      "new_mode": 33188,
      "new_path": "block/blk-settings.c"
    },
    {
      "type": "modify",
      "old_id": "0acbf4f5be50d31e31ccbce8d5e51db854e57f22",
      "old_mode": 33188,
      "old_path": "drivers/mtd/mtd_blkdevs.c",
      "new_id": "8ca17a3e96eaa0e85251ecf861d23673b9df3927",
      "new_mode": 33188,
      "new_path": "drivers/mtd/mtd_blkdevs.c"
    },
    {
      "type": "modify",
      "old_id": "ac8577358ba096126b38106e25c58d1268c25c37",
      "old_mode": 33188,
      "old_path": "drivers/staging/dst/dcore.c",
      "new_id": "5e8db06775827e448e98a11d7f731cebd19995d2",
      "new_mode": 33188,
      "new_path": "drivers/staging/dst/dcore.c"
    },
    {
      "type": "modify",
      "old_id": "e23a86cae5ac9a328fd2fe1cc7c4eecc0741760c",
      "old_mode": 33188,
      "old_path": "include/linux/blkdev.h",
      "new_id": "f62d45e87618d1a4c389b1e3229fd90a42202bb4",
      "new_mode": 33188,
      "new_path": "include/linux/blkdev.h"
    }
  ]
}
