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