)]}'
{
  "commit": "de4fed6f4ef7f2f1a1bce50a2cbbb7fdd397b7ec",
  "tree": "e082983d806ff834220a9d9ad725c91d3e2b044c",
  "parents": [
    "0bb79c97fd8e355aca433f4331d7d45e7e72b4b6"
  ],
  "author": {
    "name": "Kevin Wolf",
    "email": "kwolf@redhat.com",
    "time": "Fri Sep 29 16:51:50 2023 +0200"
  },
  "committer": {
    "name": "Kevin Wolf",
    "email": "kwolf@redhat.com",
    "time": "Thu Oct 12 16:31:33 2023 +0200"
  },
  "message": "qcow2: Mark qcow2_inactivate() and callers GRAPH_RDLOCK\n\nThis adds GRAPH_RDLOCK annotations to declare that callers of\nqcow2_inactivate() need to hold a reader lock for the graph because it\ncalls bdrv_get_device_or_node_name(), which accesses the parents list of\na node.\n\nqcow2_do_close() is a bit strange because it is called from different\ncontexts. If close_data_file \u003d true, we know that we were called from\nnon-coroutine main loop context (more specifically, we\u0027re coming from\nqcow2_close()) and can safely drop the reader lock temporarily with\nbdrv_graph_rdunlock_main_loop() and acquire the writer lock.\n\nSigned-off-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\nMessage-ID: \u003c20230929145157.45443-16-kwolf@redhat.com\u003e\nReviewed-by: Stefan Hajnoczi \u003cstefanha@redhat.com\u003e\nSigned-off-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "137c036ea417e2570f3988ae4de59c1a9d017ba9",
      "old_mode": 33188,
      "old_path": "block/qcow2.c",
      "new_id": "aa01d9e7b5b3a1397b42733477d5aa504a0a6e55",
      "new_mode": 33188,
      "new_path": "block/qcow2.c"
    }
  ]
}
