Bug #47918
closedcephfs client and nfs-ganesha have inconsistent reference count after release cache
0%
Description
After nfs-ganesha has released the cache, cephfs client still holds many inodes in pin state.
The number of caches is as follows:
nfs-ganesha:dbus-send --print-reply --system --dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr org.ganesha.nfsd.exportstats.ShowCacheInode
method return time=1603248091.070865 sender=:1.12680 -> destination=:1.12986 serial=1158 reply_serial=2
boolean true
string "OK"
...
struct {
string " FSAL opened FD count : "
uint64 0
string " System limit on FDs : "
uint32 1048576
string " FD usage : "
string " Below Low Water Mark "
string " LRU entries in use : "
uint64 3
string " Chunks in use : "
uint64 0
}
cephfs Client:{
"metadata": {
...
"pid": "30165",
"root": "/test10",
"timeout": "300",
"uuid": "ganesha-host-192-168-8-106-0002"
},
"dentry_count": 866,
"dentry_pinned_count": 866,
"id": 724497169,
"inst": {
"name": {
"type": "client",
"num": 724497169
},
"addr": {
"type": "v1",
"addr": "100.100.8.126:0",
"nonce": 875083291
}
},
"addr": {
"type": "v1",
"addr": "100.100.8.126:0",
"nonce": 875083291
},
"inst_str": "client.724497169 100.100.8.126:0/875083291",
"addr_str": "100.100.8.126:0/875083291",
"inode_count": 1181,
"mds_epoch": 162008,
"osd_epoch": 410332,
"osd_epoch_barrier": 0,
"blacklisted": false
}
nfs-ganesha holds 3 entries, but Client still holds 866 dentries in pin state. Even though client_cache_size=1 is set, it cannot be released.
ceph version: 14.2.10