]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
client: fix directory inode can not call release callback 36177/head
authorsepia-liu <liuwei_coder@163.com>
Sat, 30 May 2020 10:10:15 +0000 (18:10 +0800)
committerNathan Cutler <ncutler@suse.com>
Sat, 18 Jul 2020 17:26:11 +0000 (19:26 +0200)
commit9b2da3b33c132599d13c883a6ca38bb12ba8f55e
tree45a5642d6606b022e49e8c8069f0072570759baa
parentebb3b88fa355f722566c51bd067c51fed0e1c497
client: fix directory inode can not call release callback

When use client like nfs-ganesha hold ref of dir inode,
the dentry of the inode does not expirable because its
state is always lru_pinned.

The current code location does not tell nfs-ganesha to
release dir inodes, so we should call release_callback
to tell nfs-ganesha release first, and then trim dentry
when its state becomes unpin.

Fixes: https://tracker.ceph.com/issues/46355
Signed-off-by: sepia-liu <liuwei_coder@163.com>
(cherry picked from commit 60de0363ec7e1423665091bf42f67b78f11d9c1f)
src/client/Client.cc