OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_1-254-g858ee34

Gerrit Code Review gerrit@openafs.org
Thu, 6 Apr 2023 19:29:14 -0400


The following commit has been merged in the master branch:
commit 858ee34545e57acab1e4e5813cd1b9a011538b9e
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Mar 29 12:11:38 2023 -0600

    Linux 6.3: Use mnt_idmap for inode op functions
    
    Through a series of Linux 6.3 commits starting with:
      'f2fs: project ids aren't idmapped' (64b4cdf22f) and ending with
      'fs: move mnt_idmap' (3707d84c13)
    the inode operations functions were changed to take a mnt_idmap
    structure instead of a user_namespace structure.  These were pulled in
    via the the merge commit:
      'Pull vfs idmapping updates from Christian Brauner' (05e6295f7b)
    The commit message for the merge contains background and overall
    information for this conversion.
    
    The above change simply changes the functions to use a different
    structure (mnt_idmap instead of user_namespace).  For afs, it is a
    simple change to swap the structures. But for some of the Linux calls
    (generic_fillattr(), setattr_prepare(), and inode_op->setattr()) we
    would like to use the Linux symbol nop_mnt_idmap, but that symbol is
    exported as GPL only.  Instead, we will obtain its address from the
    current task structure at libafs initialization (much the same way as
    obtaining current user namespace for afs_ns).
    
    Add autoconf tests to determine if inode_operations.create() uses the
    mnt_idmap structure.  If so set a generic configure define for
    "IOP_TAKES_MNT_IDMAP".
    
    Update afs's inode operations functions to take and use a mnt_idmap
    instead of a user_namespace.
    
    At libafs initialization, obtain the mnt_idmap from the current task
    and save it as an afs global variable, afs_mnt_idmap, to be used where
    needed.
    
    Change-Id: Ie48b3941860998ddc7f54be48959fc62119bf48e
    Reviewed-on: https://gerrit.openafs.org/15347
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

 src/afs/LINUX/osi_compat.h   |  8 +++++--
 src/afs/LINUX/osi_machdep.h  |  4 ++++
 src/afs/LINUX/osi_module.c   | 22 +++++++++++++++++++
 src/afs/LINUX/osi_vnodeops.c | 51 +++++++++++++++++++++++++++++++++++++-------
 src/cf/linux-kernel-sig.m4   | 13 +++++++++++
 5 files changed, 88 insertions(+), 10 deletions(-)

-- 
OpenAFS Master Repository