linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL 03/14 for v6.17] overlayfs
Date: Fri, 25 Jul 2025 13:27:24 +0200	[thread overview]
Message-ID: <20250725-vfs-overlayfs-45f27bf923ce@brauner> (raw)
In-Reply-To: <20250725-vfs-617-1bcbd4ae2ea6@brauner>

Hey Linus,

/* Summary */
This contains overlayfs updates for this cycle. Note that some of the
changes depend on parts of the vfs misc pull request this cycle.

They're shown in the diffstat for clarity but will obviously be already
included in the vfs misc pull request that I'm pretty sure you're going
to merge before anyway.

The changes for overlayfs in here are primarily focussed on preparing
for some proposed changes to directory locking.

Overlayfs currently will sometimes lock a directory on the upper
filesystem and do a few different things while holding the lock. This is
incompatible with the new potential scheme.

This series narrows the region of code protected by the directory lock,
taking it multiple times when necessary. This theoretically opens up
the possibilty of other changes happening on the upper filesytem between
the unlock and the lock. To some extent the patches guard against that
by checking the dentries still have the expect parent after retaking the
lock. In general, concurrent changes to the upper and lower filesystems
aren't supported properly anyway.

/* 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
=============================

No known conflicts.

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

No known conflicts.

The following changes since commit 19272b37aa4f83ca52bdf9c16d5d81bdd1354494:

  Linux 6.16-rc1 (2025-06-08 13:44:43 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.17-rc1.ovl

for you to fetch changes up to 672820a070ea5e6ae114f6109726a4e18313a527:

  ovl: properly print correct variable (2025-07-25 10:20:36 +0200)

Please consider pulling these changes from the signed vfs-6.17-rc1.ovl tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.17-rc1.ovl

----------------------------------------------------------------
Al Viro (2):
      don't duplicate vfs_open() in kernel_file_open()
      proc_fd_getattr(): don't bother with S_ISDIR() check

Amir Goldstein (3):
      fs: constify file ptr in backing_file accessor helpers
      ovl: remove unneeded non-const conversion
      ovl: support layers on case-folding capable filesystems

Andy Shevchenko (1):
      fs/read_write: Fix spelling typo

Antonio Quartulli (1):
      ovl: properly print correct variable

Christian Brauner (2):
      Merge patch series "backing_file accessors cleanup"
      Merge patch series "ovl: narrow regions protected by i_rw_sem"

Jeff Layton (1):
      filelock: add new locks_wake_up_waiter() helper

Jens Axboe (1):
      fs/pipe: set FMODE_NOWAIT in create_pipe_files()

NeilBrown (22):
      VFS: change old_dir and new_dir in struct renamedata to dentrys
      ovl: simplify an error path in ovl_copy_up_workdir()
      ovl: change ovl_create_index() to take dir locks
      ovl: Call ovl_create_temp() without lock held.
      ovl: narrow the locked region in ovl_copy_up_workdir()
      ovl: narrow locking in ovl_create_upper()
      ovl: narrow locking in ovl_clear_empty()
      ovl: narrow locking in ovl_create_over_whiteout()
      ovl: simplify gotos in ovl_rename()
      ovl: narrow locking in ovl_rename()
      ovl: narrow locking in ovl_cleanup_whiteouts()
      ovl: narrow locking in ovl_cleanup_index()
      ovl: narrow locking in ovl_workdir_create()
      ovl: narrow locking in ovl_indexdir_cleanup()
      ovl: narrow locking in ovl_workdir_cleanup_recurse()
      ovl: change ovl_workdir_cleanup() to take dir lock as needed.
      ovl: narrow locking on ovl_remove_and_whiteout()
      ovl: change ovl_cleanup_and_whiteout() to take rename lock as needed
      ovl: narrow locking in ovl_whiteout()
      ovl: narrow locking in ovl_check_rename_whiteout()
      ovl: change ovl_create_real() to receive dentry parent
      ovl: rename ovl_cleanup_unlocked() to ovl_cleanup()

 fs/backing-file.c        |   4 +-
 fs/cachefiles/namei.c    |   4 +-
 fs/ecryptfs/inode.c      |   4 +-
 fs/file_table.c          |  13 ++-
 fs/internal.h            |   1 +
 fs/locks.c               |   2 +-
 fs/namei.c               |   7 +-
 fs/nfsd/vfs.c            |   7 +-
 fs/open.c                |   5 +-
 fs/overlayfs/copy_up.c   |  52 +++++-----
 fs/overlayfs/dir.c       | 260 +++++++++++++++++++++++++----------------------
 fs/overlayfs/file.c      |   2 +-
 fs/overlayfs/namei.c     |  31 +++++-
 fs/overlayfs/overlayfs.h |  45 +++++---
 fs/overlayfs/ovl_entry.h |   1 +
 fs/overlayfs/params.c    |  12 +--
 fs/overlayfs/readdir.c   |  44 ++++----
 fs/overlayfs/super.c     |  50 ++++-----
 fs/overlayfs/util.c      |  46 ++++++---
 fs/pipe.c                |   8 +-
 fs/proc/fd.c             |  11 +-
 fs/read_write.c          |   2 +-
 fs/smb/server/vfs.c      |   4 +-
 include/linux/filelock.h |   7 +-
 include/linux/fs.h       |  14 +--
 io_uring/openclose.c     |   2 -
 26 files changed, 353 insertions(+), 285 deletions(-)

  parent reply	other threads:[~2025-07-25 11:27 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-25 11:27 [GIT PULL 00/14 for v6.17] vfs 6.17 Christian Brauner
2025-07-25 11:27 ` [GIT PULL 05/14 for v6.17] vfs async dir Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 09/14 for v6.17] vfs bpf Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-29 18:15   ` Alexei Starovoitov
2025-07-31  8:27     ` Christian Brauner
2025-07-31 21:57       ` Alexei Starovoitov
2025-08-04 14:24         ` Christian Brauner
2025-07-25 11:27 ` [GIT PULL 02/14 for v6.17] vfs coredump Christian Brauner
2025-07-28 18:57   ` Linus Torvalds
2025-07-31  9:37     ` Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 06/14 for v6.17] vfs fallocate Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 12/14 for v6.17] vfs fileattr Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 11/14 for v6.17] vfs integrity Christian Brauner
2025-07-28  1:29   ` Hugh Dickins
2025-07-28 22:21     ` Linus Torvalds
2025-07-29  7:49       ` Christoph Hellwig
2025-07-29  8:39         ` Linus Torvalds
2025-07-31  8:00           ` Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 14/14 for v6.17] vfs iomap Christian Brauner
2025-07-27 13:10   ` Sasha Levin
2025-07-28 16:39     ` Joanne Koong
2025-07-31  8:29       ` Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 01/14 for v6.17] vfs misc Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 07/14 for v6.17] vfs mmap Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 04/14 for v6.17] namespace updates Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` Christian Brauner [this message]
2025-07-28 23:40   ` [GIT PULL 03/14 for v6.17] overlayfs pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 08/14 for v6.17] vfs pidfs Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 10/14 for v6.17] vfs rust Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 13/14 for v6.17] vfs super Christian Brauner
2025-07-28 23:40   ` pr-tracker-bot
2025-07-31  9:40 ` [GIT PULL 00/14 for v6.17] vfs 6.17 Christian Brauner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250725-vfs-overlayfs-45f27bf923ce@brauner \
    --to=brauner@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).