On Tue, 2025-04-01 at 02:32 +0200, Christian Brauner wrote: > The whole shebang can also be found at: > https://web.git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git/log/?h=work.freeze > > I know nothing about power or hibernation. I've tested it as best as > I could. Works for me (TM). I'm testing the latest you have in work.freeze and it doesn't currently work for me. Patch 7b315c39b67d ("power: freeze filesystems during suspend/resume") doesn't set filesystems_freeze_ptr so it ends up being NULL and tripping over this check +static inline bool may_unfreeze(struct super_block *sb, enum freeze_holder who, + const void *freeze_owner) +{ + WARN_ON_ONCE((who & ~FREEZE_FLAGS)); + WARN_ON_ONCE(hweight32(who & FREEZE_HOLDERS) > 1); + + if (who & FREEZE_EXCL) { + if (WARN_ON_ONCE(sb->s_writers.freeze_owner == NULL)) + return false; in f15a9ae05a71 ("fs: add owner of freeze/thaw") and failing to resume from hibernate. Setting it to __builtin_return_address(0) in filesystems_freeze() makes everything work as expected, so that's what I'm testing now. I suppose one minor, minor nit is that the vagaries of English grammar mean that the verbs fail and succeed don't take the same grammatical construction, so failed can take the infinitive (failed to thaw) perfectly well, but succeeded takes a prepositional gerund construction instead: "succeeded at/in thawing" instead of the infinitive "succeeded to thaw" ... I've no idea why, but I'd probably blame the Victorians ... Regards, James