)]}'
{
  "commit": "e3442099a2794925dfbe83711cd204caf80eae60",
  "tree": "32e3772050fd618e7665ae4f4b981c61ec5de027",
  "parents": [
    "0b92885420c9cf42da27c63939d388e276a7ddde"
  ],
  "author": {
    "name": "Stefan Hajnoczi",
    "email": "stefanha@redhat.com",
    "time": "Wed Nov 19 14:19:44 2014 +0000"
  },
  "committer": {
    "name": "Kevin Wolf",
    "email": "kwolf@redhat.com",
    "time": "Wed Dec 10 10:25:30 2014 +0100"
  },
  "message": "blockdev: acquire AioContext in eject, change, and block_passwd\n\nBy acquiring the AioContext we avoid race conditions with the dataplane\nthread which may also be accessing the BlockDriverState.\n\nFix up eject, change, and block_passwd in a single patch because\nqmp_eject() and qmp_change_blockdev() both call eject_device().  Also\nfix block_passwd while we\u0027re tackling a command that takes a block\nencryption password.\n\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@redhat.com\u003e\nReviewed-by: Max Reitz \u003cmreitz@redhat.com\u003e\nSigned-off-by: Max Reitz \u003cmreitz@redhat.com\u003e\nSigned-off-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a7f1e09bce2515e19937cad1f41861331e1b9253",
      "old_mode": 33188,
      "old_path": "blockdev.c",
      "new_id": "7bf88d427e8661061fd0dc852872112088133d6a",
      "new_mode": 33188,
      "new_path": "blockdev.c"
    },
    {
      "type": "modify",
      "old_id": "5ab64c5c424f057aaf91846639e285b046f4770e",
      "old_mode": 33188,
      "old_path": "hw/block/dataplane/virtio-blk.c",
      "new_id": "2548113978d519e11a6aa89129f56c341fb975bc",
      "new_mode": 33188,
      "new_path": "hw/block/dataplane/virtio-blk.c"
    }
  ]
}
