Early reply should be Ok when there were slave requests, but all
of them were for acquiring locks.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
for (set<SimpleLock*>::iterator p = mut->xlocks.begin();
p != mut->xlocks.end();
++p) {
+ MDSCacheObject *object = (*p)->get_parent();
+ assert(object->is_auth());
if (skip_dentry &&
((*p)->get_type() == CEPH_LOCK_DN || (*p)->get_type() == CEPH_LOCK_DVERSION))
continue;
- dout(10) << "set_xlocks_done on " << **p << " " << *(*p)->get_parent() << dendl;
+ dout(10) << "set_xlocks_done on " << **p << " " << *object << dendl;
(*p)->set_xlock_done();
}
}
return _more;
}
-bool MDRequestImpl::are_slaves()
+bool MDRequestImpl::has_witnesses()
{
- return _more && !_more->slaves.empty();
+ return _more && !_more->witnessed.empty();
}
bool MDRequestImpl::slave_did_prepare()
More* more();
bool has_more();
- bool are_slaves();
+ bool has_witnesses();
bool slave_did_prepare();
bool did_ino_allocation();
bool freeze_auth_pin(CInode *inode);
if (!g_conf->mds_early_reply)
return;
- if (mdr->are_slaves()) {
- dout(10) << "early_reply - there are slaves, not allowed." << dendl;
+ if (mdr->has_witnesses()) {
+ dout(10) << "early_reply - there are witnesses, not allowed." << dendl;
mds->mdlog->flush();
return;
}