linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL for v6.16] vfs freeze
@ 2025-05-23 12:40 Christian Brauner
  2025-05-26 18:35 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Christian Brauner @ 2025-05-23 12:40 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */

This contains various filesystem freezing related work for this cycle:

- Allow the power subsystem to support filesystem freeze for suspend and
  hibernate.

  Now all the pieces are in place to actually allow the power subsystem
  to freeze/thaw filesystems during suspend/resume. Filesystems are only
  frozen and thawed if the power subsystem does actually own the freeze.

  If the filesystem is already frozen by the time we've frozen all
  userspace processes we don't care to freeze it again. That's
  userspace's job once the process resumes. We only actually freeze
  filesystems if we absolutely have to and we ignore other failures to
  freeze.

  We could bubble up errors and fail suspend/resume if the error isn't
  EBUSY (aka it's already frozen) but I don't think that this is worth
  it. Filesystem freezing during suspend/resume is best-effort. If the
  user has 500 ext4 filesystems mounted and 4 fail to freeze for
  whatever reason then we simply skip them.

  What we have now is already a big improvement and let's see how we
  fare with it before making our lives even harder (and uglier) than we
  have to.

- Allow efivars to support freeze and thaw

  Allow efivarfs to partake to resync variable state during system
  hibernation and suspend. Add freeze/thaw support.

  This is a pretty straightforward implementation. We simply add regular
  freeze/thaw support for both userspace and the kernel. efivars is the
  first pseudofilesystem that adds support for filesystem freezing and
  thawing.

  The simplicity comes from the fact that we simply always resync
  variable state after efivarfs has been frozen. It doesn't matter
  whether that's because of suspend, userspace initiated freeze or
  hibernation. Efivars is simple enough that it doesn't matter that we
  walk all dentries. There are no directories and there aren't insane
  amounts of entries and both freeze/thaw are already heavy-handed
  operations. If userspace initiated a freeze/thaw cycle they would need
  CAP_SYS_ADMIN in the initial user namespace (as that's where efivarfs
  is mounted) so it can't be triggered by random userspace. IOW, we
  really really don't care.

/* Testing */

gcc (Debian 14.2.0-19) 14.2.0
Debian clang version 19.1.7 (3)

No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

This has a merge conflict with mainline that can be resolved as follows:

diff --cc fs/efivarfs/super.c
index b2de4079864c,63f152d25c20..000000000000
--- a/fs/efivarfs/super.c
+++ b/fs/efivarfs/super.c
@@@ -18,9 -18,9 +18,10 @@@
  #include <linux/statfs.h>
  #include <linux/notifier.h>
  #include <linux/printk.h>
 +#include <linux/namei.h>

  #include "internal.h"
+ #include "../internal.h"

  static int efivarfs_ops_notifier(struct notifier_block *nb, unsigned long event,
                                 void *data)

Merge conflicts with other trees
================================

No known conflicts.

The following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8:

  Linux 6.15-rc1 (2025-04-06 13:11:33 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.16-rc1.super

for you to fetch changes up to 1afe9e7da8c0ab3c17d4a469ed4c0607024cf0d4:

  f2fs: fix freezing filesystem during resize (2025-05-09 12:41:24 +0200)

Please consider pulling these changes from the signed vfs-6.16-rc1.super tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.16-rc1.super

----------------------------------------------------------------
Christian Brauner (15):
      super: remove pointless s_root checks
      super: simplify user_get_super()
      super: skip dying superblocks early
      super: use a common iterator (Part 1)
      super: use common iterator (Part 2)
      gfs2: pass through holder from the VFS for freeze/thaw
      super: add filesystem freezing helpers for suspend and hibernate
      Merge patch series "Extend freeze support to suspend and hibernate"
      libfs: export find_next_child()
      power: freeze filesystems during suspend/resume
      efivarfs: support freeze/thaw
      kernfs: add warning about implementing freeze/thaw
      Merge patch series "efivarfs: support freeze/thaw"
      Merge patch series "power: wire-up filesystem freeze/thaw with suspend/resume"
      f2fs: fix freezing filesystem during resize

James Bottomley (2):
      locking/percpu-rwsem: add freezable alternative to down_read
      fs: allow all writers to be frozen

 fs/efivarfs/internal.h        |   1 -
 fs/efivarfs/super.c           | 195 +++++++-------------------
 fs/f2fs/gc.c                  |   6 +-
 fs/gfs2/super.c               |  24 ++--
 fs/gfs2/sys.c                 |   4 +-
 fs/internal.h                 |   1 +
 fs/ioctl.c                    |   8 +-
 fs/kernfs/mount.c             |  15 ++
 fs/libfs.c                    |   3 +-
 fs/super.c                    | 316 ++++++++++++++++++++++++++++++------------
 fs/xfs/scrub/fscounters.c     |   4 +-
 fs/xfs/xfs_notify_failure.c   |   6 +-
 include/linux/fs.h            |  19 ++-
 include/linux/percpu-rwsem.h  |  20 ++-
 kernel/locking/percpu-rwsem.c |  13 +-
 kernel/power/hibernate.c      |  16 ++-
 kernel/power/main.c           |  31 +++++
 kernel/power/power.h          |   4 +
 kernel/power/suspend.c        |   7 +
 19 files changed, 417 insertions(+), 276 deletions(-)

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [GIT PULL for v6.16] vfs freeze
  2025-05-23 12:40 [GIT PULL for v6.16] vfs freeze Christian Brauner
@ 2025-05-26 18:35 ` pr-tracker-bot
  0 siblings, 0 replies; 2+ messages in thread
From: pr-tracker-bot @ 2025-05-26 18:35 UTC (permalink / raw)
  To: Christian Brauner
  Cc: Linus Torvalds, Christian Brauner, linux-fsdevel, linux-kernel

The pull request you sent on Fri, 23 May 2025 14:40:00 +0200:

> git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.16-rc1.super

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/8dd53535f1e129b7d75c512dc271bff76461ab6b

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-05-26 18:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-23 12:40 [GIT PULL for v6.16] vfs freeze Christian Brauner
2025-05-26 18:35 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).