Use the right predicate in ->atomic_open() instances
->atomic_open() can be given an in-lookup dentry *or* a negative one found in dcache. Use d_in_lookup() to tell one from another, rather than d_unhashed(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -394,7 +394,7 @@ int ceph_atomic_open(struct inode *dir, struct dentry *dentry,
|
||||
if ((flags & O_CREAT) && !req->r_reply_info.head->is_dentry)
|
||||
err = ceph_handle_notrace_create(dir, dentry);
|
||||
|
||||
if (d_unhashed(dentry)) {
|
||||
if (d_in_lookup(dentry)) {
|
||||
dn = ceph_finish_lookup(req, dentry, err);
|
||||
if (IS_ERR(dn))
|
||||
err = PTR_ERR(dn);
|
||||
|
Reference in New Issue
Block a user