dout(7) << "discover_base_ino " << want_ino << " from mds" << from << dendl;
if (waiting_for_base_ino[from].count(want_ino) == 0) {
filepath want_path;
- MDiscover *dis = new MDiscover(mds->get_nodeid(),
- want_ino,
+ MDiscover *dis = new MDiscover(want_ino,
CEPH_NOSNAP,
want_path,
false);
if (!base->is_waiter_for(CInode::WAIT_DIR) || !onfinish) { // this is overly conservative
filepath want_path;
- MDiscover *dis = new MDiscover(mds->get_nodeid(),
- base->ino(),
+ MDiscover *dis = new MDiscover(base->ino(),
CEPH_NOSNAP,
want_path,
true); // need the base dir open
}
if (!base->is_waiter_for(CInode::WAIT_DIR) || !onfinish) { // this is overly conservative
- MDiscover *dis = new MDiscover(mds->get_nodeid(),
- base->ino(),
+ MDiscover *dis = new MDiscover(base->ino(),
snap,
want_path,
true, // we want the base dir; we are relative to ino.
}
if (!base->is_waiting_for_dentry(want_path[0].c_str(), snap) || !onfinish) {
- MDiscover *dis = new MDiscover(mds->get_nodeid(),
- base->ino(),
+ MDiscover *dis = new MDiscover(base->ino(),
snap,
want_path,
false, // no base dir; we are relative to dir
}
if (!base->is_waiting_for_ino(want_ino)) {
- MDiscover *dis = new MDiscover(mds->get_nodeid(),
- base->dirfrag(),
+ MDiscover *dis = new MDiscover(base->dirfrag(),
CEPH_NOSNAP,
want_ino,
want_xlocked);
void MDCache::handle_discover(MDiscover *dis)
{
int whoami = mds->get_nodeid();
- int from = dis->get_asker();
+ int from = dis->get_source_inst().name._num;
assert(from != whoami);
class MDiscover : public Message {
- __s32 asker;
inodeno_t base_ino; // 1 -> root
frag_t base_dir_frag;
bool want_xlocked;
public:
- int get_asker() { return asker; }
inodeno_t get_base_ino() { return base_ino; }
frag_t get_base_dir_frag() { return base_dir_frag; }
snapid_t get_snapid() { return snapid; }
void set_base_dir_frag(frag_t f) { base_dir_frag = f; }
MDiscover() { }
- MDiscover(int asker_,
- inodeno_t base_ino_,
+ MDiscover(inodeno_t base_ino_,
snapid_t s,
filepath& want_,
bool want_base_dir_ = true,
bool discover_xlocks_ = false) :
Message(MSG_MDS_DISCOVER),
- asker(asker_),
base_ino(base_ino_),
snapid(s),
want(want_),
want_ino(0),
want_base_dir(want_base_dir_),
want_xlocked(discover_xlocks_) { }
- MDiscover(int asker_,
- dirfrag_t base_dirfrag,
+ MDiscover(dirfrag_t base_dirfrag,
snapid_t s,
inodeno_t want_ino_,
bool want_base_dir_ = true) :
Message(MSG_MDS_DISCOVER),
- asker(asker_),
base_ino(base_dirfrag.ino),
base_dir_frag(base_dirfrag.frag),
snapid(s),
void decode_payload() {
bufferlist::iterator p = payload.begin();
- ::decode(asker, p);
::decode(base_ino, p);
::decode(base_dir_frag, p);
::decode(snapid, p);
::decode(want_xlocked, p);
}
void encode_payload() {
- ::encode(asker, payload);
::encode(base_ino, payload);
::encode(base_dir_frag, payload);
::encode(snapid, payload);