• Jeff Layton's avatar
    ceph: attempt to do async create when possible · 9a8d03ca
    Jeff Layton authored
    With the Octopus release, the MDS will hand out directory create caps.
    
    If we have Fxc caps on the directory, and complete directory information
    or a known negative dentry, then we can return without waiting on the
    reply, allowing the open() call to return very quickly to userland.
    
    We use the normal ceph_fill_inode() routine to fill in the inode, so we
    have to gin up some reply inode information with what we'd expect the
    newly-created inode to have. The client assumes that it has a full set
    of caps on the new inode, and that the MDS will revoke them when there
    is conflicting access.
    
    This functionality is gated on the wsync/nowsync mount options.
    Signed-off-by: default avatarJeff Layton <jlayton@kernel.org>
    Reviewed-by: default avatar"Yan, Zheng" <zyan@redhat.com>
    Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    9a8d03ca
file.c 64.8 KB