On Tue, Apr 01, 2025 at 01:02:07PM -0400, James Bottomley wrote: > 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 I haven't pushed the new version there. Sorry about that. I only have it locally. > > +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. +1 I'll send the final version out in a bit.