le->metablob.add_remote_dentry(dn, true, targeti->ino(), targeti->d_type()); // new remote
mdcache->journal_dirty_inode(mdr, &le->metablob, targeti);
+ dn->lock.set_xlock_done();
+
early_reply(mdr, targeti, dn);
mdlog->submit_entry(le, new C_MDS_link_local_finish(mds, mdr, dn, targeti, dnpv, tipv));
// mark committing (needed for proper recovery)
mdr->committing = true;
+ dn->lock.set_xlock_done();
+
early_reply(mdr, targeti, dn);
// log + wait
if (mdr->more()->dst_reanchor_atid)
le->metablob.add_table_transaction(TABLE_ANCHOR, mdr->more()->dst_reanchor_atid);
+ dn->lock.set_xlock_done();
+
early_reply(mdr, 0, dn);
// log + wait
// mark committing (needed for proper recovery)
mdr->committing = true;
- early_reply(mdr, destdn->get_inode(), destdn);
+ srcdn->lock.set_xlock_done();
+ destdn->lock.set_xlock_done();
+
+ early_reply(mdr, srci, destdn);
// log + wait
mdlog->submit_entry(le, fin);
ls->open_files.push_back(&in->xlist_open_file);
// early reply?
+ dn->lock.set_xlock_done();
+
early_reply(mdr, in, 0);
// log + wait