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@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to