// traverse
int r = mdcache->path_traverse(mdr, NULL, NULL, refpath, &mdr->dn[n], &mdr->in[n], MDS_TRAVERSE_FORWARD);
- if (r > 0) return false; // delayed
+ if (r > 0)
+ return NULL; // delayed
if (r < 0) { // error
if (r == -ENOENT && n == 0 && mdr->dn[n].size()) {
- reply_request(mdr, r, NULL, mdr->dn[n][mdr->dn[n].size()-1]);
+ reply_request(mdr, r, NULL, no_lookup ? NULL : mdr->dn[n][mdr->dn[n].size()-1]);
} else if (r == -ESTALE) {
dout(10) << "FAIL on ESTALE but attempting recovery" << dendl;
Context *c = new C_MDS_TryFindInode(this, mdr);