1. 01 Aug, 2022 10 commits
    • Linus Torvalds's avatar
      Merge tag 'fs.idmapped.overlay.acl.v5.20' of... · 0fac198d
      Linus Torvalds authored
      Merge tag 'fs.idmapped.overlay.acl.v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux
      
      Pull acl updates from Christian Brauner:
       "Last cycle we introduced support for mounting overlayfs on top of
        idmapped mounts. While looking into additional testing we realized
        that posix acls don't really work correctly with stacking filesystems
        on top of idmapped layers.
      
        We already knew what the fix were but it would require work that is
        more suitable for the merge window so we turned off posix acls for
        v5.19 for overlayfs on top of idmapped layers with Miklos routing my
        patch upstream in 72a8e05d ("Merge tag 'ovl-fixes-5.19-rc7' [..]").
      
        This contains the work to support posix acls for overlayfs on top of
        idmapped layers. Since the posix acl fixes should use the new
        vfs{g,u}id_t work the associated branch has been merged in. (We sent a
        pull request for this earlier.)
      
        We've also pulled in Miklos pull request containing my patch to turn
        of posix acls on top of idmapped layers. This allowed us to avoid
        rebasing the branch which we didn't like because we were already at
        rc7 by then. Merging it in allows this branch to first fix posix acls
        and then to cleanly revert the temporary fix it brought in by commit
        4a47c638 ("ovl: turn of SB_POSIXACL with idmapped layers
        temporarily").
      
        The last patch in this series adds Seth Forshee as a co-maintainer for
        idmapped mounts. Seth has been integral to all of this work and is
        also the main architect behind the filesystem idmapping work which
        ultimately made filesystems such as FUSE and overlayfs available in
        containers. He continues to be active in both development and review.
        I'm very happy he decided to help and he has my full trust. This
        increases the bus factor which is always great for work like this. I'm
        honestly very excited about this because I think in general we don't
        do great in the bringing on new maintainers department"
      
      For more explanations of the ACL issues, see
      
        https://lore.kernel.org/all/20220801145520.1532837-1-brauner@kernel.org/
      
      * tag 'fs.idmapped.overlay.acl.v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        Add Seth Forshee as co-maintainer for idmapped mounts
        Revert "ovl: turn of SB_POSIXACL with idmapped layers temporarily"
        ovl: handle idmappings in ovl_get_acl()
        acl: make posix_acl_clone() available to overlayfs
        acl: port to vfs{g,u}id_t
        acl: move idmapped mount fixup into vfs_{g,s}etxattr()
        mnt_idmapping: add vfs[g,u]id_into_k[g,u]id()
      0fac198d
    • Linus Torvalds's avatar
      Merge tag 'fs.idmapped.vfsuid.v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · bdfae5ce
      Linus Torvalds authored
      Pull fs idmapping updates from Christian Brauner:
       "This introduces the new vfs{g,u}id_t types we agreed on. Similar to
        k{g,u}id_t the new types are just simple wrapper structs around
        regular {g,u}id_t types.
      
        They allow to establish a type safety boundary in the VFS for idmapped
        mounts preventing confusion betwen {g,u}ids mapped into an idmapped
        mount and {g,u}ids mapped into the caller's or the filesystem's
        idmapping.
      
        An initial set of helpers is introduced that allows to operate on
        vfs{g,u}id_t types. We will remove all references to non-type safe
        idmapped mounts helpers in the very near future. The patches do
        already exist.
      
        This converts the core attribute changing codepaths which become
        significantly easier to reason about because of this change.
      
        Just a few highlights here as the patches give detailed overviews of
        what is happening in the commit messages:
      
         - The kernel internal struct iattr contains type safe vfs{g,u}id_t
           values clearly communicating that these values have to take a given
           mount's idmapping into account.
      
         - The ownership values placed in struct iattr to change ownership are
           identical for idmapped and non-idmapped mounts going forward. This
           also allows to simplify stacking filesystems such as overlayfs that
           change attributes In other words, they always represent the values.
      
         - Instead of open coding checks for whether ownership changes have
           been requested and an actual update of the inode is required we now
           have small static inline wrappers that abstract this logic away
           removing a lot of code duplication from individual filesystems that
           all open-coded the same checks"
      
      * tag 'fs.idmapped.vfsuid.v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        mnt_idmapping: align kernel doc and parameter order
        mnt_idmapping: use new helpers in mapped_fs{g,u}id()
        fs: port HAS_UNMAPPED_ID() to vfs{g,u}id_t
        mnt_idmapping: return false when comparing two invalid ids
        attr: fix kernel doc
        attr: port attribute changes to new types
        security: pass down mount idmapping to setattr hook
        quota: port quota helpers mount ids
        fs: port to iattr ownership update helpers
        fs: introduce tiny iattr ownership update helpers
        fs: use mount types in iattr
        fs: add two type safe mapping helpers
        mnt_idmapping: add vfs{g,u}id_t
      bdfae5ce
    • Linus Torvalds's avatar
      Merge tag 'filelock-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · e6a7cf70
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "Just a couple of flock() patches from Kuniyuki Iwashima.
      
        The main change is that this moves a file_lock allocation from the
        slab to the stack"
      
      * tag 'filelock-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        fs/lock: Rearrange ops in flock syscall.
        fs/lock: Don't allocate file_lock in flock_make_lock().
      e6a7cf70
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · e88745dc
      Linus Torvalds authored
      Pull erofs updates from Gao Xiang:
       "First of all, we'd like to add Yue Hu and Jeffle Xu as two new
        reviewers. Thank them for spending time working on EROFS!
      
        There is no major feature outstanding in this cycle, mainly a patchset
        I worked on to prepare for rolling hash deduplication and folios for
        compressed data as the next big features. It kills the unneeded
        PG_error flag dependency as well.
      
        Apart from that, there are bugfixes and cleanups as always. Details
        are listed below:
      
         - Add Yue Hu and Jeffle Xu as reviewers
      
         - Add the missing wake_up when updating lzma streams
      
         - Avoid consecutive detection for Highmem memory
      
         - Prepare for multi-reference pclusters and get rid of PG_error
      
         - Fix ctx->pos update for NFS export
      
         - minor cleanups"
      
      * tag 'erofs-for-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs: (23 commits)
        erofs: update ctx->pos for every emitted dirent
        erofs: get rid of the leftover PAGE_SIZE in dir.c
        erofs: get rid of erofs_prepare_dio() helper
        erofs: introduce multi-reference pclusters (fully-referenced)
        erofs: record the longest decompressed size in this round
        erofs: introduce z_erofs_do_decompressed_bvec()
        erofs: try to leave (de)compressed_pages on stack if possible
        erofs: introduce struct z_erofs_decompress_backend
        erofs: get rid of `z_pagemap_global'
        erofs: clean up `enum z_erofs_collectmode'
        erofs: get rid of `enum z_erofs_page_type'
        erofs: rework online page handling
        erofs: switch compressed_pages[] to bufvec
        erofs: introduce `z_erofs_parse_in_bvecs'
        erofs: drop the old pagevec approach
        erofs: introduce bufvec to store decompressed buffers
        erofs: introduce `z_erofs_parse_out_bvecs()'
        erofs: clean up z_erofs_collector_begin()
        erofs: get rid of unneeded `inode', `map' and `sb'
        erofs: avoid consecutive detection for Highmem memory
        ...
      e88745dc
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · bec14d79
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
      
       - support for FAN_MARK_IGNORE which untangles some of the not well
         defined corner cases with fanotify ignore masks
      
       - small cleanups
      
      * tag 'fsnotify_for_v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fsnotify: Fix comment typo
        fanotify: introduce FAN_MARK_IGNORE
        fanotify: cleanups for fanotify_mark() input validations
        fanotify: prepare for setting event flags in ignore mask
        fs: inotify: Fix typo in inotify comment
      bec14d79
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · af07685b
      Linus Torvalds authored
      Pull ext2 and reiserfs updates from Jan Kara:
       "A fix for ext2 handling of a corrupted fs image and cleanups in ext2
        and reiserfs"
      
      * tag 'fs_for_v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2: Add more validity checks for inode counts
        fs/reiserfs/inode: remove dead code in _get_block_create_0()
        fs/ext2: replace ternary operator with min_t()
      af07685b
    • Linus Torvalds's avatar
      Merge tag 'dlm-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · eb43bbac
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
      
       - Delay the cleanup of interrupted posix lock requests until the user
         space result arrives. Previously, the immediate cleanup would lead to
         extraneous warnings when the result arrived.
      
       - Tracepoint improvements, e.g. adding the lock resource name.
      
       - Delay the completion of lockspace creation until one full recovery
         cycle has completed. This allows more error cases to be returned to
         the caller.
      
       - Remove warnings from the locking layer about delayed network replies.
         The recently added midcomms warnings are much more useful.
      
       - Begin the process of deprecating two unused lock-timeout-related
         features. These features now require enabling via a Kconfig option,
         and enabling them triggers deprecation warnings. We expect to remove
         the code in v6.2.
      
      * tag 'dlm-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        fs: dlm: move kref_put assert for lkb structs
        fs: dlm: don't use deprecated timeout features by default
        fs: dlm: add deprecation Kconfig and warnings for timeouts
        fs: dlm: remove timeout from dlm_user_adopt_orphan
        fs: dlm: remove waiter warnings
        fs: dlm: fix grammar in lowcomms output
        fs: dlm: add comment about lkb IFL flags
        fs: dlm: handle recovery result outside of ls_recover
        fs: dlm: make new_lockspace() wait until recovery completes
        fs: dlm: call dlm_lsop_recover_prep once
        fs: dlm: update comments about recovery and membership handling
        fs: dlm: add resource name to tracepoints
        fs: dlm: remove additional dereference of lksb
        fs: dlm: change ast and bast trace order
        fs: dlm: change posix lock sigint handling
        fs: dlm: use dlm_plock_info for do_unlock_close
        fs: dlm: change plock interrupted message to debug again
        fs: dlm: add pid to debug log
        fs: dlm: plock use list_first_entry
      eb43bbac
    • Alexander Aring's avatar
      fs: dlm: move kref_put assert for lkb structs · 95858989
      Alexander Aring authored
      The unhold_lkb() function decrements the lock's kref, and
      asserts that the ref count was not the final one.  Use the
      kref_put release function (which should not be called) to
      call the assert, rather than doing the assert based on the
      kref_put return value.  Using kill_lkb() as the release
      function doesn't make sense if we only want to assert.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      95858989
    • Alexander Aring's avatar
      fs: dlm: don't use deprecated timeout features by default · 6b0afc0c
      Alexander Aring authored
      This patch will disable use of deprecated timeout features if
      CONFIG_DLM_DEPRECATED_API is not set.  The deprecated features
      will be removed in upcoming kernel release v6.2.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      6b0afc0c
    • Alexander Aring's avatar
      fs: dlm: add deprecation Kconfig and warnings for timeouts · 81eeb82f
      Alexander Aring authored
      This patch adds a CONFIG_DLM_DEPRECATED_API Kconfig option
      that must be enabled to use two timeout-related features
      that we intend to remove in kernel v6.2.  Warnings are
      printed if either is enabled and used.  Neither has ever
      been used as far as we know.
      
      . The DLM_LSFL_TIMEWARN lockspace creation flag will be
        removed, along with the associated configfs entry for
        setting the timeout.  Setting the flag and configfs file
        would cause dlm to track how long locks were waiting
        for reply messages.  After a timeout, a kernel message
        would be logged, and a netlink message would be sent
        to userspace.  Recently, midcomms messages have been
        added that produce much better logging about actual
        problems with messages.  No use has ever been found
        for the netlink messages.
      
      . The userspace libdlm API has allowed the DLM_LKF_TIMEOUT
        flag with a timeout value to be set in lock requests.
        The lock request would be cancelled after the timeout.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      81eeb82f
  2. 31 Jul, 2022 7 commits
  3. 30 Jul, 2022 2 commits
  4. 29 Jul, 2022 21 commits