auto i = sdata->ops_in_flight_sharded.begin();
while (i != sdata->ops_in_flight_sharded.end() &&
i->get_initiated() < too_old) {
+
+ if (!i->warn_interval_multiplier)
+ continue;
+
(*slow)++;
// exponential backoff of warning intervals
void mark_event(const char *event,
utime_t stamp=ceph_clock_now());
+ void mark_nowarn() {
+ warn_interval_multiplier = 0;
+ }
+
virtual const char *state_string() const {
Mutex::Locker l(lock);
return events.rbegin()->c_str();
mdr->more()->flock_was_waiting = true;
mds->locker->drop_locks(mdr.get());
mdr->drop_local_auth_pins();
+ mdr->mark_event("failed to add lock, waiting");
+ mdr->mark_nowarn();
cur->add_waiter(CInode::WAIT_FLOCK, new C_MDS_RetryRequest(mdcache, mdr));
}
} else