Doing an early reply when there are slaves means we need to be able to
reliably replay that op as well, and the complexity needed to do that
when we're locking stuff on multiple MDS's is so not worth it. These
ops are pretty rare anyway.
return _more;
}
+ bool are_slaves() {
+ return _more && !_more->slaves.empty();
+ }
+
bool slave_did_prepare() { return more()->slave_commit; }
bool did_ino_allocation() {
if (!g_conf.mds_early_reply)
return;
+ if (mdr->are_slaves()) {
+ dout(10) << "early_reply - there are slaves, not allowed." << dendl;
+ mds->mdlog->flush();
+ return;
+ }
+
if (mdr->alloc_ino) {
dout(10) << "early_reply - allocated ino, not allowed" << dendl;
return;