ceph: add infrastructure for waiting for async create to complete
authorJeff Layton <jlayton@kernel.org>
Tue, 14 Jan 2020 20:06:40 +0000 (15:06 -0500)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 30 Mar 2020 10:42:41 +0000 (12:42 +0200)
commit891f3f5a6a0615a2ed93cc495b54d1a8121d0968
treee6b1a73c5b85b4603f5c328e97397265f84d3c6a
parentf5e17aed3accb406f51ae528d657c275efc1edfc
ceph: add infrastructure for waiting for async create to complete

When we issue an async create, we must ensure that any later on-the-wire
requests involving it wait for the create reply.

Expand i_ceph_flags to be an unsigned long, and add a new bit that
MDS requests can wait on. If the bit is set in the inode when sending
caps, then don't send it and just return that it has been delayed.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/caps.c
fs/ceph/dir.c
fs/ceph/mds_client.c
fs/ceph/mds_client.h
fs/ceph/super.h