)]}'
{
  "commit": "f3b49ec99fc6de703c67071cec1acbedf3133a56",
  "tree": "4a634f1d55ebe090060c35b1b09a36cfdb10516f",
  "parents": [
    "c56f7949fc574c6648f9a53c801538b7ea2db263"
  ],
  "author": {
    "name": "Yu Kuai",
    "email": "yukuai3@huawei.com",
    "time": "Wed Mar 22 14:41:22 2023 +0800"
  },
  "committer": {
    "name": "Song Liu",
    "email": "song@kernel.org",
    "time": "Tue Mar 28 16:51:19 2023 -0700"
  },
  "message": "md: enhance checking in md_check_recovery()\n\nFor md_check_recovery():\n\n1) if \u0027MD_RECOVERY_RUNING\u0027 is not set, register new sync_thread.\n2) if \u0027MD_RECOVERY_RUNING\u0027 is set:\n a) if \u0027MD_RECOVERY_DONE\u0027 is not set, don\u0027t do anything, wait for\n   md_do_sync() to be done.\n b) if \u0027MD_RECOVERY_DONE\u0027 is set, unregister sync_thread. Current code\n   expects that sync_thread is not NULL, otherwise new sync_thread will\n   be registered, which will corrupt raid.\n\nThis patch add a WARN_ON_ONCE() in the above corruption, and make sure\nmd_check_recovery() won\u0027t register new sync_thread if \u0027MD_RECOVERY_RUNING\u0027\nis still set.\n\nSigned-off-by: Yu Kuai \u003cyukuai3@huawei.com\u003e\nSigned-off-by: Song Liu \u003csong@kernel.org\u003e\nLink: https://lore.kernel.org/r/20230322064122.2384589-7-yukuai1@huaweicloud.com\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5e091343c710fcd5c2bb641367e6b28606673bd7",
      "old_mode": 33188,
      "old_path": "drivers/md/md.c",
      "new_id": "dc85e4948e4904b9c3a430a89b5c1e89d1ecb0d7",
      "new_mode": 33188,
      "new_path": "drivers/md/md.c"
    }
  ]
}
