Linux-Fsdevel Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Jeff Layton <jlayton@kernel.org>
To: ceph-devel@vger.kernel.org, linux-fscrypt@vger.kernel.org
Cc: linux-fsdevel@vger.kernel.org
Subject: [RFC PATCH v3 00/16] ceph+fscrypt: context, filename and symlink support
Date: Mon, 14 Sep 2020 15:16:51 -0400	[thread overview]
Message-ID: <20200914191707.380444-1-jlayton@kernel.org> (raw)

This is the third posting of the ceph+fscrypt integration work. This
just covers context handling, filename and symlink support.

The main changes since the last set are mainly to address Eric's review
comments. Hopefully this will be much closer to mergeable. Some highlights:

1/ rebase onto Eric's fscrypt-file-creation-v2 tag

2/ fscrypt_context_for_new_inode now takes a void * to hold the context

3/ make fscrypt_fname_disk_to_usr designate whether the returned name
   is a nokey name. This is necessary to close a potential race in
   readdir support

4/ fscrypt_base64_encode/decode remain in fs/crypto (not moved into lib/)

5/ test_dummy_encryption handling is moved into a separate patch, and
   several bugs fixed that resulted in context not being set up
   properly.

6/ symlink handling now works

Content encryption is the next step, but I want to get the fscache
rework done first. It would be nice if we were able to store encrypted
files in the cache, for instance.

This set has been tagged as "ceph-fscrypt-rfc.3" in my tree here:

    https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git

Note that this is still quite preliminary, but my goal is to get a set
merged for v5.11.

Jeff Layton (16):
  vfs: export new_inode_pseudo
  fscrypt: export fscrypt_base64_encode and fscrypt_base64_decode
  fscrypt: export fscrypt_d_revalidate
  fscrypt: add fscrypt_context_for_new_inode
  fscrypt: make fscrypt_fname_disk_to_usr return whether result is nokey
    name
  ceph: add fscrypt ioctls
  ceph: crypto context handling for ceph
  ceph: implement -o test_dummy_encryption mount option
  ceph: preallocate inode for ops that may create one
  ceph: add routine to create context prior to RPC
  ceph: make ceph_msdc_build_path use ref-walk
  ceph: add encrypted fname handling to ceph_mdsc_build_path
  ceph: make d_revalidate call fscrypt revalidator for encrypted
    dentries
  ceph: add support to readdir for encrypted filenames
  ceph: add fscrypt support to ceph_fill_trace
  ceph: create symlinks with encrypted and base64-encoded targets

 fs/ceph/Makefile        |   1 +
 fs/ceph/crypto.c        | 156 ++++++++++++++++++++++++++++++
 fs/ceph/crypto.h        |  67 +++++++++++++
 fs/ceph/dir.c           | 141 ++++++++++++++++++++-------
 fs/ceph/file.c          |  56 +++++++----
 fs/ceph/inode.c         | 204 ++++++++++++++++++++++++++++++++++------
 fs/ceph/ioctl.c         |  25 +++++
 fs/ceph/mds_client.c    |  94 +++++++++++++-----
 fs/ceph/mds_client.h    |   1 +
 fs/ceph/super.c         |  73 +++++++++++++-
 fs/ceph/super.h         |  18 +++-
 fs/ceph/xattr.c         |  32 +++++++
 fs/crypto/fname.c       |  67 ++++++++++---
 fs/crypto/hooks.c       |   4 +-
 fs/crypto/policy.c      |  35 +++++--
 fs/ext4/dir.c           |   3 +-
 fs/ext4/namei.c         |   6 +-
 fs/f2fs/dir.c           |   3 +-
 fs/inode.c              |   1 +
 fs/ubifs/dir.c          |   4 +-
 include/linux/fscrypt.h |  10 +-
 21 files changed, 860 insertions(+), 141 deletions(-)
 create mode 100644 fs/ceph/crypto.c
 create mode 100644 fs/ceph/crypto.h

-- 
2.26.2


             reply	other threads:[~2020-09-14 19:17 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-14 19:16 Jeff Layton [this message]
2020-09-14 19:16 ` [RFC PATCH v3 01/16] vfs: export new_inode_pseudo Jeff Layton
2020-09-14 23:33   ` Eric Biggers
2020-09-23  3:41   ` Al Viro
2020-09-23 11:19     ` Jeff Layton
2020-09-14 19:16 ` [RFC PATCH v3 02/16] fscrypt: export fscrypt_base64_encode and fscrypt_base64_decode Jeff Layton
2020-09-14 23:44   ` Eric Biggers
2020-09-14 19:16 ` [RFC PATCH v3 03/16] fscrypt: export fscrypt_d_revalidate Jeff Layton
2020-09-15  0:04   ` Eric Biggers
2020-09-14 19:16 ` [RFC PATCH v3 04/16] fscrypt: add fscrypt_context_for_new_inode Jeff Layton
2020-09-15  0:15   ` Eric Biggers
2020-09-14 19:16 ` [RFC PATCH v3 05/16] fscrypt: make fscrypt_fname_disk_to_usr return whether result is nokey name Jeff Layton
2020-09-15  0:23   ` Eric Biggers
2020-09-14 19:16 ` [RFC PATCH v3 06/16] ceph: add fscrypt ioctls Jeff Layton
2020-09-15  0:45   ` Eric Biggers
2020-09-15 12:08     ` Jeff Layton
2020-09-14 19:16 ` [RFC PATCH v3 07/16] ceph: crypto context handling for ceph Jeff Layton
2020-09-15  1:00   ` Eric Biggers
2020-09-14 19:16 ` [RFC PATCH v3 08/16] ceph: implement -o test_dummy_encryption mount option Jeff Layton
2020-09-15  1:23   ` Eric Biggers
2020-09-16 12:49     ` Jeff Layton
2020-09-14 19:17 ` [RFC PATCH v3 09/16] ceph: preallocate inode for ops that may create one Jeff Layton
2020-09-15  1:30   ` Eric Biggers
2020-09-16 12:41     ` Jeff Layton
2020-09-14 19:17 ` [RFC PATCH v3 10/16] ceph: add routine to create context prior to RPC Jeff Layton
2020-09-15  1:37   ` Eric Biggers
2020-09-16 12:18     ` Jeff Layton
2020-09-14 19:17 ` [RFC PATCH v3 11/16] ceph: make ceph_msdc_build_path use ref-walk Jeff Layton
2020-09-14 19:17 ` [RFC PATCH v3 12/16] ceph: add encrypted fname handling to ceph_mdsc_build_path Jeff Layton
2020-09-15  1:41   ` Eric Biggers
2020-09-16 12:30     ` Jeff Layton
2020-09-16 17:36       ` Eric Biggers
2020-09-16 18:04         ` Jeff Layton
2020-09-16 18:42           ` Eric Biggers
2020-09-14 19:17 ` [RFC PATCH v3 13/16] ceph: make d_revalidate call fscrypt revalidator for encrypted dentries Jeff Layton
2020-09-14 19:17 ` [RFC PATCH v3 14/16] ceph: add support to readdir for encrypted filenames Jeff Layton
2020-09-15  1:57   ` Eric Biggers
2020-09-15 13:27     ` Jeff Layton
2020-09-15 20:40       ` Eric Biggers
2020-09-16 12:16         ` Jeff Layton
2020-09-14 19:17 ` [RFC PATCH v3 15/16] ceph: add fscrypt support to ceph_fill_trace Jeff Layton
2020-09-14 19:17 ` [RFC PATCH v3 16/16] ceph: create symlinks with encrypted and base64-encoded targets Jeff Layton
2020-09-15  2:07   ` Eric Biggers
2020-09-15 14:05     ` Jeff Layton
2020-09-15 20:49       ` Eric Biggers
2020-09-16 12:15         ` Jeff Layton
2020-09-15  2:13 ` [RFC PATCH v3 00/16] ceph+fscrypt: context, filename and symlink support Eric Biggers
2020-09-15 13:38   ` Jeff Layton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200914191707.380444-1-jlayton@kernel.org \
    --to=jlayton@kernel.org \
    --cc=ceph-devel@vger.kernel.org \
    --cc=linux-fscrypt@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --subject='Re: [RFC PATCH v3 00/16] ceph+fscrypt: context, filename and symlink support' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).