)]}'
{
  "commit": "7cabbdb70df64fc7b0ed05f3e6aa4e1990eadc77",
  "tree": "ecae20b7ad33b76d5c815658bf2227168f990d47",
  "parents": [
    "7248b87cb0292a13c0309a4aba9f5daf7a76d297"
  ],
  "author": {
    "name": "David Woodhouse",
    "email": "dwmw@amazon.co.uk",
    "time": "Sun Jan 22 22:59:49 2023 +0000"
  },
  "committer": {
    "name": "David Woodhouse",
    "email": "dwmw@amazon.co.uk",
    "time": "Tue Mar 07 17:04:30 2023 +0000"
  },
  "message": "hw/xen: Watches on XenStore transactions\n\nFiring watches on the nodes that still exist is relatively easy; just\nwalk the tree and look at the nodes with refcount of one.\n\nFiring watches on *deleted* nodes is more fun. We add \u0027modified_in_tx\u0027\nand \u0027deleted_in_tx\u0027 flags to each node. Nodes with those flags cannot\nbe shared, as they will always be unique to the transaction in which\nthey were created.\n\nWhen xs_node_walk would need to *create* a node as scaffolding and it\nencounters a deleted_in_tx node, it can resurrect it simply by clearing\nits deleted_in_tx flag. If that node originally had any *data*, they\u0027re\ngone, and the modified_in_tx flag will have been set when it was first\ndeleted.\n\nWe then attempt to send appropriate watches when the transaction is\ncommitted, properly delete the deleted_in_tx nodes, and remove the\nmodified_in_tx flag from the others.\n\nSigned-off-by: David Woodhouse \u003cdwmw@amazon.co.uk\u003e\nReviewed-by: Paul Durrant \u003cpaul@xen.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0812e367b0ce4fa2db48f09f6ef13e63d6ce26c7",
      "old_mode": 33188,
      "old_path": "hw/i386/kvm/xenstore_impl.c",
      "new_id": "60f42f61d60185db127bda443246074bc36e1fc6",
      "new_mode": 33188,
      "new_path": "hw/i386/kvm/xenstore_impl.c"
    },
    {
      "type": "modify",
      "old_id": "3c3654550afdade56457e9920bad76cb53271c87",
      "old_mode": 33188,
      "old_path": "tests/unit/test-xs-node.c",
      "new_id": "02c72baa62f0e551e49859fc8211d6a044404a3b",
      "new_mode": 33188,
      "new_path": "tests/unit/test-xs-node.c"
    }
  ]
}
