ceph: size handling in MClientRequest, cap updates and inode traces
For encrypted inodes, transmit a rounded-up size to the MDS as the normal file size and send the real inode size in fscrypt_file field. Also, fix up creates and truncates to also transmit fscrypt_file. When we get an inode trace from the MDS, grab the fscrypt_file field if the inode is encrypted, and use it to populate the i_size field instead of the regular inode size field. 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>
Showing
- fs/ceph/caps.c 26 additions, 18 deletionsfs/ceph/caps.c
- fs/ceph/dir.c 3 additions, 0 deletionsfs/ceph/dir.c
- fs/ceph/file.c 1 addition, 0 deletionsfs/ceph/file.c
- fs/ceph/inode.c 30 additions, 3 deletionsfs/ceph/inode.c
- fs/ceph/mds_client.c 8 additions, 1 deletionfs/ceph/mds_client.c
- fs/ceph/mds_client.h 2 additions, 0 deletionsfs/ceph/mds_client.h
Please register or sign in to comment