messenger->send_message(new MClientLease(CEPH_MDS_LEASE_RELEASE, seq,
m->get_mask(), m->get_ino(), m->get_first(), m->get_last(), m->dname),
m->get_source_inst());
- delete m;
+ m->put();
}
CInode *in = mdcache->get_inode(m->get_ino(), m->get_last());
if (!in) {
dout(7) << "handle_client_lease don't have ino " << m->get_ino() << "." << m->get_last() << dendl;
- delete m;
+ m->put();
return;
}
CDentry *dn = 0;
dn = dir->lookup(m->dname);
if (!dn) {
dout(7) << "handle_client_lease don't have dn " << m->get_ino() << " " << m->dname << dendl;
- delete m;
+ m->put();
return;
}
dout(10) << " on " << *dn << dendl;
ClientLease *l = dn->get_client_lease(client);
if (!l) {
dout(7) << "handle_client_lease didn't have lease for client" << client << " of " << *dn << dendl;
- delete m;
+ m->put();
return;
}
int left = dn->remove_client_lease(l, l->mask, this);
dout(10) << " remaining mask is " << left << " on " << *dn << dendl;
}
- delete m;
+ m->put();
break;
case CEPH_MDS_LEASE_RENEW: