)]}'
{
  "commit": "456e75171a85c19a5bfa202eefcbdc4ef1692f05",
  "tree": "ad52dd1e50cce7293f0e1b363716ba298a0281b0",
  "parents": [
    "7f36a50ab4e7d39369cac67be4ba9d6ee4081dc0"
  ],
  "author": {
    "name": "Hanna Reitz",
    "email": "hreitz@redhat.com",
    "time": "Mon Jun 20 18:26:55 2022 +0200"
  },
  "committer": {
    "name": "Kevin Wolf",
    "email": "kwolf@redhat.com",
    "time": "Wed Feb 01 16:52:33 2023 +0100"
  },
  "message": "block/vmdk: Change extent info type\n\nVMDK\u0027s implementation of .bdrv_get_specific_info() returns information\nabout its extent files, ostensibly in the form of ImageInfo objects.\nHowever, it does not get this information through\nbdrv_query_image_info(), but fills only a select few fields with custom\ninformation that does not always match the fields\u0027 purposes.\n\nFor example, @format, which is supposed to be a block driver name, is\nfilled with the extent type, e.g. SPARSE or FLAT.\n\nIn ImageInfo, @compressed shows whether the data that can be seen in the\nimage is stored in compressed form or not.  For example, a compressed\nqcow2 image will store compressed data in its data file, but when\naccessing the qcow2 node, you will see normal data.  This is not how\nVMDK uses the @compressed field for its extent files: Instead, it\nsignifies whether accessing the extent file will yield compressed data\n(which the VMDK driver then (de-)compresses).\n\nCreate a new structure to represent the extent information.  This allows\nus to clarify the fields\u0027 meanings, and it clearly shows that these are\nnot complete ImageInfo objects.  (That is, if a user wants an extent\nfile\u0027s ImageInfo object, they will need to query it separately, and will\nnot get it from ImageInfoSpecificVmdk.extents.)\n\nNote that this removes the last use of [\u0027ImageInfo\u0027] (i.e. an array of\nImageInfo objects), so the QAPI generator will no longer generate\nImageInfoList by default.  However, we use it in qemu-img.c, so we need\nto create a dummy object to force the generate to create that type,\nsimilarly to DummyForceArrays in machine.json (introduced in commit\n9f08c8ec73878122ad4b061ed334f0437afaaa32 (\"qapi: Lazy creation of array\ntypes\")).\n\nSigned-off-by: Hanna Reitz \u003chreitz@redhat.com\u003e\nMessage-Id: \u003c20220620162704.80987-4-hreitz@redhat.com\u003e\nReviewed-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\nSigned-off-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1bba61ad7d2f9dc7eaf1f9f2cbefbfd8f83a4efd",
      "old_mode": 33188,
      "old_path": "block/vmdk.c",
      "new_id": "5b0eae877ea44530d8c50b960ef69f8d76ac8bc7",
      "new_mode": 33188,
      "new_path": "block/vmdk.c"
    },
    {
      "type": "modify",
      "old_id": "f5d822cbd6c1783f6de28dd0a19636b264a1b95f",
      "old_mode": 33188,
      "old_path": "qapi/block-core.json",
      "new_id": "4b9365167f087e61cf988df8fba6e9b9ad1b3972",
      "new_mode": 33188,
      "new_path": "qapi/block-core.json"
    }
  ]
}
