)]}'
{
  "commit": "19e8b596263c2ee966a4e45f0ffbc9bb08b55409",
  "tree": "47985494f35b06febcf47e143f7e4006e7d04583",
  "parents": [
    "9d9d449180f2f2589718a31292c8deaf9cf78ff3"
  ],
  "author": {
    "name": "Denis V. Lunev",
    "email": "den@openvz.org",
    "time": "Fri Jun 19 12:18:30 2026 +0200"
  },
  "committer": {
    "name": "Marc-André Lureau",
    "email": "marcandre.lureau@redhat.com",
    "time": "Tue Jun 30 19:12:59 2026 +0400"
  },
  "message": "system/cpus: refuse memsave/pmemsave while guest RAM is being migrated\n\nmemsave and pmemsave read guest memory and write it to a file, with no\nguard at all. They run on the main thread with the BQL held, so on a\npostcopy destination touching a not-yet-received page deadlocks: the\nthread blocks on the userfault while the postcopy incoming path waits for\nthe BQL to install that page. During precopy the read returns incomplete\nstate instead.\n\nRefuse both while guest RAM is still being received, using the same\nmigration_guest_ram_loading() check as dump-guest-memory.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nReviewed-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\nMessage-Id: \u003c20260619101834.228432-4-den@openvz.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "49f6daec3cd791f70bea793b5d4f772b5edc1782",
      "old_mode": 33188,
      "old_path": "system/cpus.c",
      "new_id": "b31c825b464749251e870b360f6fa268891ae159",
      "new_mode": 33188,
      "new_path": "system/cpus.c"
    }
  ]
}
