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