)]}'
{
  "commit": "f89cf429edea2c04c26d2bd2bf2f16268ba2b181",
  "tree": "40b9a8a547f9111ceaf42d81dd94f2fcab43b2a3",
  "parents": [
    "3268821f3cac468578de94a6e5364e65947283b9"
  ],
  "author": {
    "name": "Luis Chamberlain",
    "email": "mcgrof@kernel.org",
    "time": "Thu Apr 15 19:07:22 2021 +0000"
  },
  "committer": {
    "name": "Luis Chamberlain",
    "email": "mcgrof@kernel.org",
    "time": "Sat May 06 23:26:02 2023 -0700"
  },
  "message": "fs: add automatic kernel fs freeze / thaw and remove kthread freezing\n\nAdd support to automatically handle freezing and thawing filesystems\nduring the kernel\u0027s suspend/resume cycle.\n\nThis is needed so that we properly really stop IO in flight without\nraces after userspace has been frozen. Without this we rely on\nkthread freezing and its semantics are loose and error prone.\nFor instance, even though a kthread may use try_to_freeze() and end\nup being frozen we have no way of being sure that everything that\nhas been spawned asynchronously from it (such as timers) have also\nbeen stopped as well.\n\nA long term advantage of also adding filesystem freeze / thawing\nsupporting during suspend / hibernation is that long term we may\nbe able to eventually drop the kernel\u0027s thread freezing completely\nas it was originally added to stop disk IO in flight as we hibernate\nor suspend.\n\nThis does not remove the superfluous freezer calls on all filesystems.\nEach filesystem must remove all the kthread freezer stuff and peg\nthe fs_type flags as supporting auto-freezing with the FS_AUTOFREEZE\nflag.\n\nSubsequent patches remove the kthread freezer usage from each\nfilesystem, one at a time to make all this work bisectable.\nOnce all filesystems remove the usage of the kthread freezer we\ncan remove the FS_AUTOFREEZE flag.\n\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Luis Chamberlain \u003cmcgrof@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d659e1b28d765dd0f0962a5ac6b08fcc66b3e73f",
      "old_mode": 33188,
      "old_path": "fs/super.c",
      "new_id": "c96d252a2c659c10da4853386458ca510127f264",
      "new_mode": 33188,
      "new_path": "fs/super.c"
    },
    {
      "type": "modify",
      "old_id": "22dd697ab7037d48acef2c985079d81b04b972d7",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "92c85c8ec1ed13cad05a51f5a5fd0d58b9ee159a",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    },
    {
      "type": "modify",
      "old_id": "cae81a87cc91e3a2f06da590f8db68fb22b4db26",
      "old_mode": 33188,
      "old_path": "kernel/power/process.c",
      "new_id": "7ca7688f0b5d5d19068dcfb482b7cbd822796647",
      "new_mode": 33188,
      "new_path": "kernel/power/process.c"
    }
  ]
}
