in->replica_caps_wanted = wanted;
if (mds->mdsmap->get_state(auth) >= MDSMap::STATE_REJOIN)
- mds->send_message_mds(new MInodeFileCaps(in->ino(), mds->get_nodeid(),
- in->replica_caps_wanted),
+ mds->send_message_mds(new MInodeFileCaps(in->ino(), in->replica_caps_wanted),
auth);
} else {
in->replica_caps_wanted_keep_until.sec_ref() = 0;
// ok
CInode *in = mdcache->get_inode(m->get_ino());
+ int from = m->get_source().num();
+
assert(in);
assert(in->is_auth());
}
- dout(7) << "handle_inode_file_caps replica mds" << m->get_from() << " wants caps " << ccap_string(m->get_caps()) << " on " << *in << dendl;
+ dout(7) << "handle_inode_file_caps replica mds" << from << " wants caps " << ccap_string(m->get_caps()) << " on " << *in << dendl;
if (m->get_caps())
- in->mds_caps_wanted[m->get_from()] = m->get_caps();
+ in->mds_caps_wanted[from] = m->get_caps();
else
- in->mds_caps_wanted.erase(m->get_from());
+ in->mds_caps_wanted.erase(from);
try_eval(in, CEPH_CAP_LOCKS);
m->put();
class MInodeFileCaps : public Message {
inodeno_t ino;
- __s32 from;
__u32 caps;
public:
inodeno_t get_ino() { return ino; }
- int get_from() { return from; }
int get_caps() { return caps; }
MInodeFileCaps() {}
- // from auth
- MInodeFileCaps(inodeno_t ino, int from, int caps) :
+ MInodeFileCaps(inodeno_t ino, int caps) :
Message(MSG_MDS_INODEFILECAPS) {
this->ino = ino;
- this->from = from;
this->caps = caps;
}
private:
}
void encode_payload(CephContext *cct) {
- ::encode(from, payload);
::encode(ino, payload);
::encode(caps, payload);
}
void decode_payload(CephContext *cct) {
bufferlist::iterator p = payload.begin();
- ::decode(from, p);
::decode(ino, p);
::decode(caps, p);
}