From: Zhi Zhang Date: Mon, 5 Mar 2018 03:04:36 +0000 (+0800) Subject: client: use either dentry_invalidate_cb or remount_cb to invalidate kernel dcache X-Git-Tag: v13.1.0~571^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6b823dc250223c2c25c341d6ffcfa64510f47bb2;p=ceph.git client: use either dentry_invalidate_cb or remount_cb to invalidate kernel dcache Signed-off-by: Zhi Zhang --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 0ea23e822949..15f05b2d842a 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -4022,12 +4022,14 @@ void Client::_invalidate_kernel_dcache() { if (unmounting) return; - if (can_invalidate_dentries && dentry_invalidate_cb && root->dir) { - for (ceph::unordered_map::iterator p = root->dir->dentries.begin(); - p != root->dir->dentries.end(); - ++p) { - if (p->second->inode) - _schedule_invalidate_dentry_callback(p->second, false); + if (can_invalidate_dentries) { + if (dentry_invalidate_cb && root->dir) { + for (ceph::unordered_map::iterator p = root->dir->dentries.begin(); + p != root->dir->dentries.end(); + ++p) { + if (p->second->inode) + _schedule_invalidate_dentry_callback(p->second, false); + } } } else if (remount_cb) { // Hacky: