[GIT PULL] Ceph updates for 6.7-rc1

From: Ilya Dryomov
Date: Thu Nov 09 2023 - 12:41:07 EST


Hi Linus,

The following changes since commit ffc253263a1375a65fa6c9f62a893e9767fbebfa:

Linux 6.6 (2023-10-29 16:31:08 -1000)

are available in the Git repository at:

https://github.com/ceph/ceph-client.git tags/ceph-for-6.7-rc1

for you to fetch changes up to 56d2e2cfa21315c12945c22e141c7e7ec8b0a630:

ceph: allow idmapped mounts (2023-11-03 23:28:34 +0100)

There are a few conflicts in fs/ceph/inode.c caused by a clash between
the conversion to new timestamp accessors in VFS and logging changes in
CephFS. I have the resolution in for-linus-merged, it's the same as in
linux-next.

----------------------------------------------------------------
Two items:

- support for idmapped mounts in CephFS (Christian Brauner, Alexander
Mikhalitsyn). The series was originally developed by Christian and
later picked up and brought over the finish line by Alexander, who
also contributed an enabler on the MDS side (separate owner_{u,g}id
fields on the wire). The required exports for mnt_idmap_{get,put}()
in VFS have been acked by Christian and received no objection from
Christoph.

- a churny change in CephFS logging to include cluster and client
identifiers in log and debug messages (Xiubo Li). This would help
in scenarios with dozens of CephFS mounts on the same node which are
getting increasingly common, especially in the Kubernetes world.

----------------------------------------------------------------
Alexander Mikhalitsyn (3):
fs: export mnt_idmap_get/mnt_idmap_put
ceph: add enable_unsafe_idmap module parameter
ceph: pass idmap to __ceph_setattr

Christian Brauner (9):
ceph: stash idmapping in mdsc request
ceph: handle idmapped mounts in create_request_message()
ceph: pass an idmapping to mknod/symlink/mkdir
ceph: allow idmapped getattr inode op
ceph: allow idmapped permission inode op
ceph: allow idmapped setattr inode op
ceph: allow idmapped set_acl inode op
ceph: allow idmapped atomic_open inode op
ceph: allow idmapped mounts

Xiubo Li (5):
libceph: add doutc and *_client debug macros support
ceph: pass the mdsc to several helpers
ceph: rename _to_client() to _to_fs_client()
ceph: print cluster fsid and client global_id in all debug logs
libceph, ceph: move mdsmap.h to fs/ceph

fs/ceph/acl.c | 12 +-
fs/ceph/addr.c | 299 +++++++-------
fs/ceph/cache.c | 2 +-
fs/ceph/caps.c | 763 +++++++++++++++++++++---------------
fs/ceph/crypto.c | 43 +-
fs/ceph/debugfs.c | 10 +-
fs/ceph/dir.c | 242 +++++++-----
fs/ceph/export.c | 49 +--
fs/ceph/file.c | 282 +++++++------
fs/ceph/inode.c | 529 ++++++++++++++-----------
fs/ceph/ioctl.c | 21 +-
fs/ceph/locks.c | 57 +--
fs/ceph/mds_client.c | 678 +++++++++++++++++++-------------
fs/ceph/mds_client.h | 13 +-
fs/ceph/mdsmap.c | 29 +-
{include/linux => fs}/ceph/mdsmap.h | 5 +-
fs/ceph/metric.c | 5 +-
fs/ceph/quota.c | 29 +-
fs/ceph/snap.c | 192 +++++----
fs/ceph/super.c | 99 +++--
fs/ceph/super.h | 23 +-
fs/ceph/xattr.c | 108 ++---
fs/mnt_idmapping.c | 2 +
include/linux/ceph/ceph_debug.h | 38 ++
include/linux/ceph/ceph_fs.h | 10 +-
include/linux/mnt_idmapping.h | 3 +
26 files changed, 2070 insertions(+), 1473 deletions(-)
rename {include/linux => fs}/ceph/mdsmap.h (92%)