All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] overlayfs update for 5.15
@ 2021-09-02 13:51 Miklos Szeredi
  2021-09-02 16:35 ` Linus Torvalds
  2021-09-02 17:37 ` pr-tracker-bot
  0 siblings, 2 replies; 3+ messages in thread
From: Miklos Szeredi @ 2021-09-02 13:51 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel, linux-unionfs

Hi Linus,

Please pull from:

  git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git tags/ovl-update-5.15

- Copy up immutable/append/sync/noatime attributes (Amir Goldstein)

- Improve performance by enabling RCU lookup.

- Misc fixes and improvements

The reason this touches so many files is that the ->get_acl() method now
gets a "bool rcu" argument.  The ->get_acl() API was updated based on
comments from Al and Linus:

  https://lore.kernel.org/linux-fsdevel/CAJfpeguQxpd6Wgc0Jd3ks77zcsAv_bn0q17L3VNnnmPKu11t8A@mail.gmail.com/

Thanks,
Miklos

---
Amir Goldstein (5):
      fs: add generic helper for filling statx attribute flags
      ovl: pass ovl_fs to ovl_check_setxattr()
      ovl: copy up sync/noatime fileattr flags
      ovl: consistent behavior for immutable/append-only inodes
      ovl: relax lookup error on mismatch origin ftype

Chengguang Xu (2):
      ovl: skip checking lower file's i_writecount on truncate
      ovl: update ctime when changing fileattr

Miklos Szeredi (3):
      ovl: use kvalloc in xattr copy-up
      vfs: add rcu argument to ->get_acl() callback
      ovl: enable RCU'd ->get_acl()

Vyacheslav Yurkov (3):
      ovl: disable decoding null uuid with redirect_dir
      ovl: add ovl_allow_offline_changes() helper
      ovl: do not set overlay.opaque for new directories

chenying (1):
      ovl: fix BUG_ON() in may_delete() when called from ovl_cleanup()

---
 Documentation/filesystems/locking.rst   |   2 +-
 Documentation/filesystems/overlayfs.rst |   3 +
 Documentation/filesystems/vfs.rst       |   2 +-
 fs/9p/acl.c                             |   5 +-
 fs/9p/acl.h                             |   2 +-
 fs/bad_inode.c                          |   2 +-
 fs/btrfs/acl.c                          |   5 +-
 fs/btrfs/ctree.h                        |   2 +-
 fs/ceph/acl.c                           |   5 +-
 fs/ceph/super.h                         |   2 +-
 fs/erofs/xattr.c                        |   5 +-
 fs/erofs/xattr.h                        |   2 +-
 fs/ext2/acl.c                           |   5 +-
 fs/ext2/acl.h                           |   2 +-
 fs/ext4/acl.c                           |   5 +-
 fs/ext4/acl.h                           |   2 +-
 fs/f2fs/acl.c                           |   5 +-
 fs/f2fs/acl.h                           |   2 +-
 fs/fuse/acl.c                           |   5 +-
 fs/fuse/fuse_i.h                        |   2 +-
 fs/gfs2/acl.c                           |   5 +-
 fs/gfs2/acl.h                           |   2 +-
 fs/jffs2/acl.c                          |   5 +-
 fs/jffs2/acl.h                          |   2 +-
 fs/jfs/acl.c                            |   5 +-
 fs/jfs/jfs_acl.h                        |   2 +-
 fs/nfs/nfs3_fs.h                        |   2 +-
 fs/nfs/nfs3acl.c                        |   5 +-
 fs/ocfs2/acl.c                          |   5 +-
 fs/ocfs2/acl.h                          |   2 +-
 fs/orangefs/acl.c                       |   5 +-
 fs/orangefs/inode.c                     |   7 +--
 fs/orangefs/orangefs-kernel.h           |   2 +-
 fs/overlayfs/copy_up.c                  |  83 ++++++++++++++++++++-----
 fs/overlayfs/dir.c                      |  16 +++--
 fs/overlayfs/inode.c                    | 105 +++++++++++++++++++++++++-------
 fs/overlayfs/namei.c                    |   4 +-
 fs/overlayfs/overlayfs.h                |  44 +++++++++++--
 fs/overlayfs/super.c                    |   4 +-
 fs/overlayfs/util.c                     |  92 ++++++++++++++++++++++++++--
 fs/posix_acl.c                          |  15 ++++-
 fs/reiserfs/acl.h                       |   2 +-
 fs/reiserfs/xattr_acl.c                 |   5 +-
 fs/stat.c                               |  18 ++++++
 fs/xfs/xfs_acl.c                        |   5 +-
 fs/xfs/xfs_acl.h                        |   4 +-
 include/linux/fs.h                      |   8 ++-
 include/linux/posix_acl.h               |   3 +-
 include/linux/stat.h                    |   4 ++
 49 files changed, 424 insertions(+), 102 deletions(-)

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

* Re: [GIT PULL] overlayfs update for 5.15
  2021-09-02 13:51 [GIT PULL] overlayfs update for 5.15 Miklos Szeredi
@ 2021-09-02 16:35 ` Linus Torvalds
  2021-09-02 17:37 ` pr-tracker-bot
  1 sibling, 0 replies; 3+ messages in thread
From: Linus Torvalds @ 2021-09-02 16:35 UTC (permalink / raw)
  To: Miklos Szeredi, Al Viro
  Cc: Linux Kernel Mailing List, linux-fsdevel, linux-unionfs

On Thu, Sep 2, 2021 at 6:51 AM Miklos Szeredi <miklos@szeredi.hu> wrote:
>
> The reason this touches so many files is that the ->get_acl() method now
> gets a "bool rcu" argument.  The ->get_acl() API was updated based on
> comments from Al and Linus:
>
>   https://lore.kernel.org/linux-fsdevel/CAJfpeguQxpd6Wgc0Jd3ks77zcsAv_bn0q17L3VNnnmPKu11t8A@mail.gmail.com/

That link might have been good in the individual commit message too,
but I did it in the merge commit instead.

I did notice that we now have a stale comment about ->get_acl() in fs/namei.c:

                acl = get_cached_acl_rcu(inode, ACL_TYPE_ACCESS);
                if (!acl)
                        return -EAGAIN;
                /* no ->get_acl() calls in RCU mode... */
                if (is_uncached_acl(acl))
                        return -ECHILD;

but we actually did the RCU-mode ->get_acl() call already in
get_cached_acl_rcu().

Of course, get_cached_acl_rcu() only does it for ACL_DONT_CACHE, not
for ACL_NOT_CACHED, so RCU mode is still a bit special.

At some point we probably should make get_cached_acl_rcu() do the
right thing for a successful lookup with ACL_NOT_CACHED set too, and
actually install the newly looked-up ACL. But I haven't thought much
about locking (but I think it would be ok, we use "cmpxchg" to update
the cached entry).

This is just a "maybe fixme for the future" note about that comment
and about get_cached_acl_rcu() behavior. I've pulled this, and I think
we're ok, it's just a small oddity.

                  Linus

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

* Re: [GIT PULL] overlayfs update for 5.15
  2021-09-02 13:51 [GIT PULL] overlayfs update for 5.15 Miklos Szeredi
  2021-09-02 16:35 ` Linus Torvalds
@ 2021-09-02 17:37 ` pr-tracker-bot
  1 sibling, 0 replies; 3+ messages in thread
From: pr-tracker-bot @ 2021-09-02 17:37 UTC (permalink / raw)
  To: Miklos Szeredi; +Cc: Linus Torvalds, linux-kernel, linux-fsdevel, linux-unionfs

The pull request you sent on Thu, 2 Sep 2021 15:51:53 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git tags/ovl-update-5.15

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/815409a12c0a9c0de17a910fd95fe11e1eb97f32

Thank you!

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

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

end of thread, other threads:[~2021-09-02 17:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-02 13:51 [GIT PULL] overlayfs update for 5.15 Miklos Szeredi
2021-09-02 16:35 ` Linus Torvalds
2021-09-02 17:37 ` pr-tracker-bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.