diff options
author | Jeff Layton <jlayton@kernel.org> | 2020-01-14 15:06:40 -0500 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2020-03-30 12:42:41 +0200 |
commit | 891f3f5a6a0615a2ed93cc495b54d1a8121d0968 (patch) | |
tree | e6b1a73c5b85b4603f5c328e97397265f84d3c6a /fs/ceph/dir.c | |
parent | f5e17aed3accb406f51ae528d657c275efc1edfc (diff) | |
download | linux-stable-891f3f5a6a0615a2ed93cc495b54d1a8121d0968.tar.gz linux-stable-891f3f5a6a0615a2ed93cc495b54d1a8121d0968.tar.bz2 linux-stable-891f3f5a6a0615a2ed93cc495b54d1a8121d0968.zip |
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>
Diffstat (limited to 'fs/ceph/dir.c')
-rw-r--r-- | fs/ceph/dir.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index a87274935a09..5b83bda57056 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -752,7 +752,7 @@ static struct dentry *ceph_lookup(struct inode *dir, struct dentry *dentry, struct ceph_dentry_info *di = ceph_dentry(dentry); spin_lock(&ci->i_ceph_lock); - dout(" dir %p flags are %d\n", dir, ci->i_ceph_flags); + dout(" dir %p flags are 0x%lx\n", dir, ci->i_ceph_flags); if (strncmp(dentry->d_name.name, fsc->mount_options->snapdir_name, dentry->d_name.len) && |