client->rename("p2.l","p2");
client->rename("p4","p4.l");
- /*
// check anchor updates
client->mknod("dir1/a", 0644);
client->link("dir1/a", "da1");
client->mknod("dir5/asdf", 0644);
client->rename("dir3","dir4"); // ok
client->rename("dir4","dir5"); // fail
- */
}
int SyntheticClient::thrash_links(const char *basedir, int dirs, int files, int depth, int n)
handle_client_link(mdr);
break;
case MDS_OP_UNLINK:
+ case MDS_OP_RMDIR:
handle_client_unlink(mdr);
break;
case MDS_OP_RENAME:
handle_client_rename(mdr);
break;
- case MDS_OP_RMDIR:
- handle_client_unlink(mdr);
- break;
case MDS_OP_MKDIR:
handle_client_mkdir(mdr);
break;
// dn looks ok.
// get/open inode.
+ mdr->trace.swap(trace);
CInode *in = request_pin_ref(mdr);
if (!in) return;
dout(7) << "dn links to " << *in << endl;
{
dout(10) << "_unlink_local " << *dn << endl;
- /*
// unlink main dentry
CInode *in = dn->inode;
dn->dir->unlink_inode(dn);
mds->send_message_mds(unlink, it->first, MDS_PORT_CACHE);
}
- // unlock
- mds->locker->dentry_xlock_finish(dn);
- mds->locker->inode_hard_xlock_finish(in);
-
// bump target popularity
mds->balancer->hit_dir(dn->dir, META_POP_DWR);
if (straydn)
mdcache->eval_stray(straydn);
- */
}