]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
client: fix directory inode can not call release callback 37017/head
authorsepia-liu <liuwei_coder@163.com>
Sat, 30 May 2020 10:10:15 +0000 (18:10 +0800)
committerVicente Cheng <freeze.bilsted@gmail.com>
Mon, 7 Sep 2020 08:01:31 +0000 (08:01 +0000)
commitdbfe087f3033058b1e7800bca577ddc0278ec775
tree5ded5abeeb7e29a2d402996f9d683909e48e4ea8
parent65d8836383deeacfc8343f8d6563548a4c44c835
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