)]}'
{
  "commit": "12c7ec87a7d88919b23736176eba3118d1521372",
  "tree": "21c20826edb726986c64d1a5419a5d5a7be6cccf",
  "parents": [
    "8f3a73bc57ea83e5b3930d14fc596ea51859987a"
  ],
  "author": {
    "name": "Max Reitz",
    "email": "mreitz@redhat.com",
    "time": "Fri Jan 29 20:49:11 2016 +0100"
  },
  "committer": {
    "name": "Max Reitz",
    "email": "mreitz@redhat.com",
    "time": "Tue Feb 02 17:47:00 2016 +0100"
  },
  "message": "blockdev: Fix \u0027change\u0027 for slot devices\n\n\u0027change\u0027 and related operations did not work when used on guest devices\nfeaturing removable media but no actual tray, because\nblk_dev_is_tray_open() always returned false for them and the\nblockdev-{insert,remove}-medium commands required it to return true.\n\nFix this by making blockdev-{insert,remove}-medium work on tray-less\ndevices. Also, blockdev-{open,close}-tray are now explicitly no-ops when\ninvoked on such devices, and blk_dev_change_media_cb() is instead\ncalled by blockdev-{insert,remove}-medium (for tray-less devices only).\n\nReported-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\nCc: qemu-stable \u003cqemu-stable@nongnu.org\u003e\nSigned-off-by: Max Reitz \u003cmreitz@redhat.com\u003e\nReviewed-by: Alberto Garcia \u003cberto@igalia.com\u003e\nMessage-id: 1454096953-31773-3-git-send-email-mreitz@redhat.com\nReviewed-by: Eric Blake \u003ceblake@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "07cfe25e1ec0f24b07c76868f30b4608c139352e",
      "old_mode": 33188,
      "old_path": "blockdev.c",
      "new_id": "1044a6acade6352e86d5281a2eab6c5f212241ce",
      "new_mode": 33188,
      "new_path": "blockdev.c"
    },
    {
      "type": "modify",
      "old_id": "0a915eda59dde9ee603a1180de8f41f774090745",
      "old_mode": 33188,
      "old_path": "qapi/block-core.json",
      "new_id": "40239bfcf9fd26d29f22f6e5d5e4f940a08c037b",
      "new_mode": 33188,
      "new_path": "qapi/block-core.json"
    }
  ]
}
