mbox series

[GIT,PULL] Ceph updates for 6.6-rc1

Message ID 20230906162538.1234699-1-idryomov@gmail.com
State New
Headers show
Series [GIT,PULL] Ceph updates for 6.6-rc1 | expand

Pull-request

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

Message

Ilya Dryomov Sept. 6, 2023, 4:24 p.m. UTC
Hi Linus,

The following changes since commit 706a741595047797872e669b3101429ab8d378ef:

  Linux 6.5-rc7 (2023-08-20 15:02:52 +0200)

are available in the Git repository at:

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

for you to fetch changes up to ce0d5bd3a6c176f9a3bf867624a07119dd4d0878:

  ceph: make num_fwd and num_retry to __u32 (2023-08-31 14:56:27 +0200)

----------------------------------------------------------------
Mixed with some fixes and cleanups, this brings in reasonably complete
fscrypt support to CephFS!  The list of things which don't work with
encryption should be fairly short, mostly around the edges: fallocate
(not supported well in CephFS to begin with), copy_file_range (requires
re-encryption), non-default striping patterns.

This was a multi-year effort principally by Jeff Layton with assistance
from Xiubo Li, Luís Henriques and others, including several dependant
changes in the MDS, netfs helper library and fscrypt framework itself.

----------------------------------------------------------------
Herbert Xu (1):
      libceph: do not include crypto/algapi.h

Jeff Layton (33):
      libceph: add spinlock around osd->o_requests
      libceph: define struct ceph_sparse_extent and add some helpers
      libceph: new sparse_read op, support sparse reads on msgr2 crc codepath
      libceph: support sparse reads on msgr2 secure codepath
      libceph: add sparse read support to msgr1
      libceph: add sparse read support to OSD client
      ceph: add new mount option to enable sparse reads
      ceph: preallocate inode for ops that may create one
      ceph: make ceph_msdc_build_path use ref-walk
      libceph: add new iov_iter-based ceph_msg_data_type and ceph_osd_data_type
      ceph: use osd_req_op_extent_osd_iter for netfs reads
      ceph: fscrypt_auth handling for ceph
      ceph: implement -o test_dummy_encryption mount option
      ceph: add fscrypt ioctls and ceph.fscrypt.auth vxattr
      ceph: encode encrypted name in ceph_mdsc_build_path and dentry release
      ceph: send alternate_name in MClientRequest
      ceph: decode alternate_name in lease info
      ceph: set DCACHE_NOKEY_NAME flag in ceph_lookup/atomic_open()
      ceph: make d_revalidate call fscrypt revalidator for encrypted dentries
      ceph: add helpers for converting names for userland presentation
      ceph: make ceph_fill_trace and ceph_get_name decrypt names
      ceph: create symlinks with encrypted and base64-encoded targets
      ceph: add some fscrypt guardrails
      ceph: size handling in MClientRequest, cap updates and inode traces
      ceph: handle fscrypt fields in cap messages from MDS
      ceph: add infrastructure for file encryption and decryption
      libceph: add CEPH_OSD_OP_ASSERT_VER support
      libceph: allow ceph_osdc_new_request to accept a multi-op read
      ceph: don't use special DIO path for encrypted inodes
      ceph: align data in pages in ceph_sync_write
      ceph: add read/modify/write to ceph_sync_write
      ceph: add encryption support to writepage and writepages
      ceph: plumb in decryption during reads

Jinjie Ruan (1):
      rbd: use list_for_each_entry() helper

Luís Henriques (8):
      ceph: add base64 endcoding routines for encrypted names
      ceph: allow encrypting a directory while not having Ax caps
      ceph: mark directory as non-complete after loading key
      ceph: invalidate pages when doing direct/sync writes
      ceph: add support for encrypted snapshot names
      ceph: prevent snapshot creation in encrypted locked directories
      ceph: update documentation regarding snapshot naming limitations
      ceph: switch ceph_lookup/atomic_open() to use new fscrypt helper

Xiubo Li (10):
      ceph: make ioctl cmds more readable in debug log
      ceph: pass the request to parse_reply_info_readdir()
      ceph: add support to readdir for encrypted names
      ceph: add object version support for sync read
      ceph: add truncate size handling support for fscrypt
      ceph: drop messages from MDS when unmounting
      ceph: wait for OSD requests' callbacks to finish when unmounting
      ceph: fix updating i_truncate_pagecache_size for fscrypt
      ceph: make members in struct ceph_mds_request_args_ext a union
      ceph: make num_fwd and num_retry to __u32

 Documentation/filesystems/ceph.rst |  10 +
 drivers/block/rbd.c                |   4 +-
 fs/ceph/Makefile                   |   1 +
 fs/ceph/acl.c                      |   4 +-
 fs/ceph/addr.c                     | 196 ++++++++---
 fs/ceph/caps.c                     | 235 +++++++++++--
 fs/ceph/crypto.c                   | 673 ++++++++++++++++++++++++++++++++++++
 fs/ceph/crypto.h                   | 288 ++++++++++++++++
 fs/ceph/dir.c                      | 194 ++++++++---
 fs/ceph/export.c                   |  44 ++-
 fs/ceph/file.c                     | 602 +++++++++++++++++++++++++++------
 fs/ceph/inode.c                    | 625 +++++++++++++++++++++++++++++++---
 fs/ceph/ioctl.c                    | 127 ++++++-
 fs/ceph/mds_client.c               | 676 ++++++++++++++++++++++++++++---------
 fs/ceph/mds_client.h               |  35 +-
 fs/ceph/quota.c                    |  14 +-
 fs/ceph/snap.c                     |  10 +-
 fs/ceph/super.c                    | 191 ++++++++++-
 fs/ceph/super.h                    |  49 ++-
 fs/ceph/xattr.c                    |  30 ++
 include/linux/ceph/ceph_fs.h       |  68 ++--
 include/linux/ceph/messenger.h     |  40 +++
 include/linux/ceph/osd_client.h    |  93 ++++-
 include/linux/ceph/rados.h         |   4 +
 net/ceph/messenger.c               |  78 +++++
 net/ceph/messenger_v1.c            |  98 +++++-
 net/ceph/messenger_v2.c            | 289 ++++++++++++++--
 net/ceph/osd_client.c              | 334 +++++++++++++++++-
 28 files changed, 4484 insertions(+), 528 deletions(-)
 create mode 100644 fs/ceph/crypto.c
 create mode 100644 fs/ceph/crypto.h

Comments

pr-tracker-bot@kernel.org Sept. 6, 2023, 8:28 p.m. UTC | #1
The pull request you sent on Wed,  6 Sep 2023 18:24:56 +0200:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/7ba2090ca64ea1aa435744884124387db1fac70f

Thank you!