hi Zheng - On 8/26/19 2:55 PM, Yan, Zheng wrote: > I tracked down the bug > https://tracker.ceph.com/issues/41434 wow, that was quick - thank you for investigating. we are looking forward for the fix :-) in the meantime, is there anything we can do to prevent q == p->second.end() from happening? something along the lines of --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -1867,6 +1867,8 @@ void Locker::file_update_finish(CInode *in, MutationRef& mut, unsigned flags, auto p = in->client_snap_caps.begin(); while (p != in->client_snap_caps.end()) { auto q = p->second.find(client); + // horrible hack for zecm + std::this_thread::sleep_for(std::chrono::milliseconds(1)); if (q != p->second.end()) { SimpleLock *lock = in->get_lock(p->first); ceph_assert(lock); thank you very much & with kind regards, t.
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com