mbox series

[v15,00/29] ceph: remaining patches for fscrypt support

Message ID 20220825133132.153657-1-jlayton@kernel.org
Headers show
Series ceph: remaining patches for fscrypt support | expand

Message

Jeff Layton Aug. 25, 2022, 1:31 p.m. UTC
v15: rebase onto current ceph/testing branch
     add some missing ceph_osdc_wait_request calls

This patchset represents the remaining patches to add fscrypt support,
rebased on top of today's "testing" branch.  They're all ceph changes as
the vfs and fscrypt patches are now merged!

Note that the current ceph-client/wip-fscrypt branch is broken. It's
still based on v5.19-rc6 and has some missing calls to
ceph_osdc_wait_request that cause panics. This set fixes that.

These are currently in my ceph-fscrypt branch:

   https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git/log/?h=ceph-fscrypt

It would be good to update the wip-fscrypt branch with this pile.

Jeff Layton (19):
  libceph: add CEPH_OSD_OP_ASSERT_VER support
  ceph: size handling for encrypted inodes in cap updates
  ceph: fscrypt_file field handling in MClientRequest messages
  ceph: get file size from fscrypt_file when present in inode traces
  ceph: handle fscrypt fields in cap messages from MDS
  ceph: update WARN_ON message to pr_warn
  ceph: add infrastructure for file encryption and decryption
  libceph: allow ceph_osdc_new_request to accept a multi-op read
  ceph: disable fallocate for encrypted inodes
  ceph: disable copy offload on encrypted inodes
  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: plumb in decryption during sync reads
  ceph: add fscrypt decryption support to ceph_netfs_issue_op
  ceph: set i_blkbits to crypto block size for encrypted inodes
  ceph: add encryption support to writepage
  ceph: fscrypt support for writepages
  ceph: report STATX_ATTR_ENCRYPTED on encrypted inodes

Luís Henriques (6):
  ceph: don't allow changing layout on encrypted files/directories
  ceph: invalidate pages when doing direct/sync writes
  ceph: add support for encrypted snapshot names
  ceph: add support for handling encrypted snapshot names
  ceph: update documentation regarding snapshot naming limitations
  ceph: prevent snapshots to be created in encrypted locked directories

Xiubo Li (4):
  ceph: add __ceph_get_caps helper support
  ceph: add __ceph_sync_read helper support
  ceph: add object version support for sync read
  ceph: add truncate size handling support for fscrypt

 Documentation/filesystems/ceph.rst |  10 +
 fs/ceph/addr.c                     | 164 ++++++++--
 fs/ceph/caps.c                     | 143 +++++++--
 fs/ceph/crypto.c                   | 367 +++++++++++++++++++++--
 fs/ceph/crypto.h                   | 118 +++++++-
 fs/ceph/dir.c                      |   8 +
 fs/ceph/file.c                     | 467 +++++++++++++++++++++++++----
 fs/ceph/inode.c                    | 282 +++++++++++++++--
 fs/ceph/ioctl.c                    |   4 +
 fs/ceph/mds_client.c               |   9 +-
 fs/ceph/mds_client.h               |   2 +
 fs/ceph/super.c                    |   6 +
 fs/ceph/super.h                    |  11 +
 include/linux/ceph/osd_client.h    |   6 +-
 include/linux/ceph/rados.h         |   4 +
 net/ceph/osd_client.c              |  32 +-
 16 files changed, 1454 insertions(+), 179 deletions(-)

Comments

Xiubo Li Aug. 27, 2022, midnight UTC | #1
On 8/25/22 9:31 PM, Jeff Layton wrote:
> v15: rebase onto current ceph/testing branch
>       add some missing ceph_osdc_wait_request calls
>
> This patchset represents the remaining patches to add fscrypt support,
> rebased on top of today's "testing" branch.  They're all ceph changes as
> the vfs and fscrypt patches are now merged!
>
> Note that the current ceph-client/wip-fscrypt branch is broken. It's
> still based on v5.19-rc6 and has some missing calls to
> ceph_osdc_wait_request that cause panics. This set fixes that.
>
> These are currently in my ceph-fscrypt branch:
>
>     https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git/log/?h=ceph-fscrypt
>
> It would be good to update the wip-fscrypt branch with this pile.
>
> Jeff Layton (19):
>    libceph: add CEPH_OSD_OP_ASSERT_VER support
>    ceph: size handling for encrypted inodes in cap updates
>    ceph: fscrypt_file field handling in MClientRequest messages
>    ceph: get file size from fscrypt_file when present in inode traces
>    ceph: handle fscrypt fields in cap messages from MDS
>    ceph: update WARN_ON message to pr_warn
>    ceph: add infrastructure for file encryption and decryption
>    libceph: allow ceph_osdc_new_request to accept a multi-op read
>    ceph: disable fallocate for encrypted inodes
>    ceph: disable copy offload on encrypted inodes
>    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: plumb in decryption during sync reads
>    ceph: add fscrypt decryption support to ceph_netfs_issue_op
>    ceph: set i_blkbits to crypto block size for encrypted inodes
>    ceph: add encryption support to writepage
>    ceph: fscrypt support for writepages
>    ceph: report STATX_ATTR_ENCRYPTED on encrypted inodes
>
> Luís Henriques (6):
>    ceph: don't allow changing layout on encrypted files/directories
>    ceph: invalidate pages when doing direct/sync writes
>    ceph: add support for encrypted snapshot names
>    ceph: add support for handling encrypted snapshot names
>    ceph: update documentation regarding snapshot naming limitations
>    ceph: prevent snapshots to be created in encrypted locked directories
>
> Xiubo Li (4):
>    ceph: add __ceph_get_caps helper support
>    ceph: add __ceph_sync_read helper support
>    ceph: add object version support for sync read
>    ceph: add truncate size handling support for fscrypt
>
>   Documentation/filesystems/ceph.rst |  10 +
>   fs/ceph/addr.c                     | 164 ++++++++--
>   fs/ceph/caps.c                     | 143 +++++++--
>   fs/ceph/crypto.c                   | 367 +++++++++++++++++++++--
>   fs/ceph/crypto.h                   | 118 +++++++-
>   fs/ceph/dir.c                      |   8 +
>   fs/ceph/file.c                     | 467 +++++++++++++++++++++++++----
>   fs/ceph/inode.c                    | 282 +++++++++++++++--
>   fs/ceph/ioctl.c                    |   4 +
>   fs/ceph/mds_client.c               |   9 +-
>   fs/ceph/mds_client.h               |   2 +
>   fs/ceph/super.c                    |   6 +
>   fs/ceph/super.h                    |  11 +
>   include/linux/ceph/osd_client.h    |   6 +-
>   include/linux/ceph/rados.h         |   4 +
>   net/ceph/osd_client.c              |  32 +-
>   16 files changed, 1454 insertions(+), 179 deletions(-)
>
The xfstests-dev tests passed and have updated the wip-fscrypt branch.

Thanks Jeff!