Hi,

On 11/13/2015 03:42 PM, Yan, Zheng wrote:
On Tue, Nov 10, 2015 at 12:06 AM, Burkhard Linke <burkhard.li...@computational.bio.uni-giessen.de <mailto:burkhard.li...@computational.bio.uni-giessen.de>> wrote:
> Hi,

*snipsnap*

it seems the hang is related to async invalidate. please try the following patch
---
diff --git a/src/client/Client.cc b/src/client/Client.cc
index 0d85db2..afbb896 100644
--- a/src/client/Client.cc
+++ b/src/client/Client.cc
@@ -3151,8 +3151,6 @@ void Client::_async_invalidate(Inode *in, int64_t off, int64_t len, bool keep_ca
   ino_invalidate_cb(callback_handle, in->vino(), off, len);

   client_lock.Lock();
-  if (!keep_caps)
-    check_caps(in, false);
   put_inode(in);
   client_lock.Unlock();
ldout(cct, 10) << "_async_invalidate " << off << "~" << len << (keep_caps ? " keep_caps" : "") << " done" << dendl; @@ -3163,7 +3161,7 @@ void Client::_schedule_invalidate_callback(Inode *in, int64_t off, int64_t len,
   if (ino_invalidate_cb)
// we queue the invalidate, which calls the callback and decrements the ref async_ino_invalidator.queue(new C_Client_CacheInvalidate(this, in, off, len, keep_caps));
-  else if (!keep_caps)
+  if (!keep_caps)
     check_caps(in, false);
 }
I've deployed the patch together with the page cache patch on two machines in the compute cluster. I've not been able to reproduce the lockup on these machines.

Most cluster machines are currently under load, so I'll have to postpone a rollout to more machines until the jobs are finished.

Thanks again for the fast patch.

Best regards,
Burkhard
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to