• J
    fscrypt: add fscrypt_context_for_new_inode · 637fa738
    Jeff Layton 提交于
    Most filesystems just call fscrypt_set_context on new inodes, which
    usually causes a setxattr. That's a bit late for ceph, which can send
    along a full set of attributes with the create request.
    
    Doing so allows it to avoid race windows that where the new inode could
    be seen by other clients without the crypto context attached. It also
    avoids the separate round trip to the server.
    
    Refactor the fscrypt code a bit to allow us to create a new crypto
    context, attach it to the inode, and write it to the buffer, but without
    calling set_context on it. ceph can later use this to marshal the
    context into the attributes we send along with the create request.
    Signed-off-by: NJeff Layton <jlayton@kernel.org>
    Reviewed-by: NXiubo Li <xiubli@redhat.com>
    Acked-by: NEric Biggers <ebiggers@google.com>
    Signed-off-by: NIlya Dryomov <idryomov@gmail.com>
    637fa738
fscrypt.h 32.2 KB