mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 22:54:05 +08:00
2d332d5bc4
Most fscrypt-enabled filesystems store the crypto context in an xattr, but that's problematic for ceph as xatts are governed by the XATTR cap, but we really want the crypto context as part of the AUTH cap. Because of this, the MDS has added two new inode metadata fields: fscrypt_auth and fscrypt_file. The former is used to hold the crypto context, and the latter is used to track the real file size. Parse new fscrypt_auth and fscrypt_file fields in inode traces. For now, we don't use fscrypt_file, but fscrypt_auth is used to hold the fscrypt context. Allow the client to use a setattr request for setting the fscrypt_auth field. Since this is not a standard setattr request from the VFS, we add a new field to __ceph_setattr that carries ceph-specific inode attrs. Have the set_context op do a setattr that sets the fscrypt_auth value, and get_context just return the contents of that field (since it should always be available). Signed-off-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Xiubo Li <xiubli@redhat.com> Reviewed-and-tested-by: Luís Henriques <lhenriques@suse.de> Reviewed-by: Milind Changire <mchangir@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
16 lines
413 B
Makefile
16 lines
413 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for CEPH filesystem.
|
|
#
|
|
|
|
obj-$(CONFIG_CEPH_FS) += ceph.o
|
|
|
|
ceph-y := super.o inode.o dir.o file.o locks.o addr.o ioctl.o \
|
|
export.o caps.o snap.o xattr.o quota.o io.o \
|
|
mds_client.o mdsmap.o strings.o ceph_frag.o \
|
|
debugfs.o util.o metric.o
|
|
|
|
ceph-$(CONFIG_CEPH_FSCACHE) += cache.o
|
|
ceph-$(CONFIG_CEPH_FS_POSIX_ACL) += acl.o
|
|
ceph-$(CONFIG_FS_ENCRYPTION) += crypto.o
|