// ==========================================================================
// simple lock
+void Locker::handle_reqrdlock(SimpleLock *lock)
+{
+ MDSCacheObject *parent = lock->get_parent();
+ if (parent->is_auth() &&
+ lock->is_stable() &&
+ lock->get_state() != LOCK_SYNC &&
+ !parent->is_frozen()) {
+ dout(7) << "handle_reqrdlock got rdlock request on " << *lock
+ << " on " << *parent << dendl;
+ assert(parent->is_auth()); // replica auth pinned if they're doing this!
+ simple_sync(lock);
+ } else {
+ dout(7) << "handle_reqrdlock ignoring rdlock request on " << *lock
+ << " on " << *parent << dendl;
+ // replica will retry.
+ }
+}
+
+ /* This function DOES put the passed message before returning */
void Locker::handle_simple_lock(SimpleLock *lock, MLock *m)
{
int from = m->get_asker();