nfs-ganesha的mdcache源码分析----mdcache_readdir流程

本文详细分析了nfs-ganesha中的mdcache_readdir流程,特别是2.5.0以后引入的readdir chunk功能。当开启chunk时,每个chunk存储128个条目,系统最大chunk数量为10000。当目录过大或未开启chunk,目录项将不被缓存。主要关注mdcache_readdir_chunked函数,它包括获取chunk、调用本地readdir操作和处理回调函数mdc_readdir_chunk_object的流程。此外,文章还提及了遍历chunk和缓存条目的操作。
摘要由CSDN通过智能技术生成
2 mdcache_readdir

       在2.5.0之后的版本中,加入了readdir chunk,可以不完全将目录存入cache中,默认每个chunk存128个条目(可以通过Dir_Chunk设置),整个系统chunk的水线为10000(可以通过Chunks_HWMark设置)。chunk也有自己的lru列表,如果超过chunk的数目,就会被踢掉。

    if (test_mde_flags(directory, MDCACHE_BYPASS_DIRCACHE)) {
        /* Not caching dirents; pass through directly to FSAL */
        return mdcache_readdir_uncached(directory, whence, dir_state,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值