网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

cephfskernelclient针对dentry的操作代码

这篇文章主要介绍了cephfs kernel client针对dentry的操作代码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联IDC提供业务:资阳服务器托管,成都服务器租用,资阳服务器托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。

cephfs kernel client针对dentry的操作

const struct dentry_operations ceph_dentry_ops = {

        .d_revalidate = ceph_d_revalidate,

        .d_release = ceph_d_release,

        .d_prune = ceph_d_prune,

};

ceph_d_revalidate(struct dentry *dentry, unsigned int flags)    用于检查cache中的dentry是否有效

|__调用dget_parent()函数得到dentry对应的parent dentry

|__调用d_inode()函数得到parent dentry对应的struct inode数据

|__调用dentry_lease_is_valid()函数检查dentry lease是否有效

|__若无效

    |__得到操作码op=CEPH_MDS_OP_LOOKUPSNAP或者CEPH_MDS_OP_LOOKUP

    |__调用ceph_mdsc_create_request()函数创建mds请求

    |__调用ceph_mdsc_do_request()函数将请求同步发送给mds进程

    |__调用ceph_dentry_lru_touch()函数将dentry添加到lru中

ceph_d_release(struct dentry *dentry)        释放dentry时被调用

|__调用ceph_dentry()函数得到struct ceph_dentry_info数据结构

|__调用ceph_dentry_lru_del()函数将dentry从lru中删除

|__设置dentry->d_fsdata=NULL

|__调用ceph_put_mds_session()函数释放lease session

|__调用kmem_cache_free()函数从cache中释放struct ceph_dentry_info数据结构

ceph_d_prune(struct dentry *dentry)        当vfs从cache中删除dentry时调用该函数

|__调用IS_ROOT()函数检查dentry是否包含有效的parent,若dentry是root则直接返回

|__调用d_unhashed()函数检查dentry是否不是hashed,若是则直接返回(未hashed dentry不受影响)

|__调用ceph_dir_clear_complete()函数减少dentry->parent的struct inode中的中的i_release_count的引用计数值

感谢你能够认真阅读完这篇文章,希望小编分享的“cephfs kernel client针对dentry的操作代码”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


网站栏目:cephfskernelclient针对dentry的操作代码
分享地址:http://bjjierui.cn/article/ppigpd.html

其他资讯