mirror of
https://github.com/ceph/ceph
synced 2025-02-24 11:37:37 +00:00
mds: set mdr->in[n] in rdlock_path_xlock_dentry
This keeps things consistent with what we'd get with path_traverse. Namely, it means that if done_locking gets set to true, then a future call to rdlock_path_pin_ref can bail out and return mdr->in[n] and get a correct value. This fixes touch mnt/a ls mnt touch mnt/.ceph mds hang on the create request.
This commit is contained in:
parent
378e476923
commit
fd0195a9d8
@ -1752,6 +1752,7 @@ CDentry* Server::rdlock_path_xlock_dentry(MDRequest *mdr, int n,
|
||||
}
|
||||
|
||||
mdr->dn[n].push_back(dn);
|
||||
mdr->in[n] = dn->get_projected_linkage()->get_inode();
|
||||
|
||||
// -- lock --
|
||||
for (int i=0; i<(int)mdr->dn[n].size(); i++)
|
||||
|
Loading…
Reference in New Issue
Block a user