|
@@ -1200,7 +1200,9 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req)
|
|
WARN_ON_ONCE(1);
|
|
WARN_ON_ONCE(1);
|
|
}
|
|
}
|
|
|
|
|
|
- if (dir && req->r_op == CEPH_MDS_OP_LOOKUPNAME) {
|
|
|
|
|
|
+ if (dir && req->r_op == CEPH_MDS_OP_LOOKUPNAME &&
|
|
|
|
+ test_bit(CEPH_MDS_R_PARENT_LOCKED, &req->r_req_flags) &&
|
|
|
|
+ !test_bit(CEPH_MDS_R_ABORTED, &req->r_req_flags)) {
|
|
struct qstr dname;
|
|
struct qstr dname;
|
|
struct dentry *dn, *parent;
|
|
struct dentry *dn, *parent;
|
|
|
|
|