)]}'
{
  "commit": "ca49a4fdb39d7b00b20e8500cba11aedc87755bd",
  "tree": "d609f7482ef9a1f6eda662e8be810250e140a898",
  "parents": [
    "1ef01253eb90d0c69129c817e85fa92f9d45602a"
  ],
  "author": {
    "name": "Max Reitz",
    "email": "mreitz@redhat.com",
    "time": "Thu Feb 05 13:58:11 2015 -0500"
  },
  "committer": {
    "name": "Stefan Hajnoczi",
    "email": "stefanha@redhat.com",
    "time": "Mon Feb 16 15:07:18 2015 +0000"
  },
  "message": "block: Add blk_new_open()\n\nblk_new_with_bs() creates a BlockBackend with an empty BlockDriverState\nattached to it. Empty BDSs are not nice, therefore add an alternative\nfunction which combines blk_new_with_bs() with bdrv_open().\n\nNote: In contrast to bdrv_open() which takes a BlockDriver parameter,\nblk_new_open() does not take such a parameter. This is because\nbdrv_open() opens a BlockDriverState, therefore it is natural to be able\nto set the BlockDriver for that BDS. The fact that bdrv_open() can open\nmore than a single BDS is merely some form of a byproduct.\n\nblk_new_open() on the other hand is intended to be used to create a\nwhole tree of BlockDriverStates. Therefore, setting a single BlockDriver\ndoes not make much sense. Instead, the drivers to be used for each of\nthe nodes must be configured through the \"options\" QDict; including the\ndriver of the root BDS.\n\nSigned-off-by: Max Reitz \u003cmreitz@redhat.com\u003e\nReviewed-by: Eric Blake \u003ceblake@redhat.com\u003e\nReviewed-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\nMessage-id: 1423162705-32065-3-git-send-email-mreitz@redhat.com\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7dc985c070f24860059041dc510ae6057aff3d4a",
      "old_mode": 33188,
      "old_path": "block/block-backend.c",
      "new_id": "d083b85bbe16e414c19ee70dd7c18e6201141fb2",
      "new_mode": 33188,
      "new_path": "block/block-backend.c"
    },
    {
      "type": "modify",
      "old_id": "4ef04075367e675824ce0630ad3b2ff3040a8af9",
      "old_mode": 33188,
      "old_path": "include/sysemu/block-backend.h",
      "new_id": "2e8ebb2535048c261d726a60285864d8c640d9fc",
      "new_mode": 33188,
      "new_path": "include/sysemu/block-backend.h"
    }
  ]
}
