int getattr_caps; ///< caps requested by getattr
bufferlist reply_extra_bl;
+ bufferlist reply_snapbl;
// inos we did a embedded cap release on, and may need to eval if we haven't since reissued
map<vinodeno_t, ceph_seq_t> cap_releases;
}
reply->set_extra_bl(mdr->reply_extra_bl);
+ assert(mdr->reply_snapbl.length() == 0); // only used on mksnap
req->get_connection()->send_message(reply);
mdr->did_early_reply = true;
// We can set the extra bl unconditionally: if it's already been sent in the
// early_reply, set_extra_bl will have claimed it and reply_extra_bl is empty
reply->set_extra_bl(mdr->reply_extra_bl);
+ reply->snapbl = mdr->reply_snapbl;
reply->set_mdsmap_epoch(mds->mdsmap->get_epoch());
client_con->send_message(reply);
// yay
mdr->in[0] = diri;
mdr->snapid = info.snapid;
- MClientReply *reply = new MClientReply(mdr->client_request, 0);
- reply->snapbl = diri->snaprealm->get_snap_trace();
+ mdr->reply_snapbl = diri->snaprealm->get_snap_trace();
mdr->tracei = diri;
- reply_request(mdr, reply);
+ reply_request(mdr, 0);
}