Re: [fscrypt][RFC PATCH v2] ceph: don't allow changing layout on encrypted files/directories

From: Jeff Layton
Date: Wed Aug 18 2021 - 08:21:01 EST


On Tue, 2021-08-17 at 15:04 +0100, Luis Henriques wrote:
> Encryption is currently only supported on files/directories with layouts
> where stripe_count=1. Forbid changing layouts when encryption is involved.
>
> Signed-off-by: Luis Henriques <lhenriques@xxxxxxx>
> ---
> Changes since v1:
> - dropped changes to ceph_sync_setxattr(), MDS shall be responsible for
> preventing layout changes on encrypted dirs/files
>
> fs/ceph/ioctl.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/fs/ceph/ioctl.c b/fs/ceph/ioctl.c
> index 477ecc667aee..480d18bb2ff0 100644
> --- a/fs/ceph/ioctl.c
> +++ b/fs/ceph/ioctl.c
> @@ -294,6 +294,10 @@ static long ceph_set_encryption_policy(struct file *file, unsigned long arg)
> struct inode *inode = file_inode(file);
> struct ceph_inode_info *ci = ceph_inode(inode);
>
> + /* encrypted directories can't have striped layout */
> + if (ci->i_layout.stripe_count > 1)
> + return -EINVAL;
> +
> ret = vet_mds_for_fscrypt(file);
> if (ret)
> return ret;

Thanks Luis. I've gone ahead and merged this into my fscrypt pile.
--
Jeff Layton <jlayton@xxxxxxxxxx>