beegfs读取文件完整流程分析

本文详细分析了Beegfs客户端在读取文件时与meta和storage节点的交互过程,包括FhgfsOps_getattr、FhgfsOps_read、FhgfsOps_flush及FhgfsOps_release等关键步骤,涉及缓存、通信协议和数据传输优化。通过日志跟踪,展示了client如何校验文件有效性、获取属性信息、读取文件内容并刷新缓存,以及释放资源的完整流程。
摘要由CSDN通过智能技术生成

   

目录

client读取文件-与storage主要交互过程整理 

 file_operations结构体

beegfs-client与beegfs-meta通信-FhgfsOps_getattr

FhgfsOps_getattr

maybeRefreshInode

__FhgfsOps_doRefreshInode

__FhgfsOps_flushInodeFileCache

FhgfsOpsHelper_flushCache

FhgfsOpsRemoting_statDirect

FhgfsOpsRemoting_statAndGetParentInfo

MessagingTk_requestResponseNodeRetryAutoIntr和

__MessagingTk_requestResponseNodeRetry

beegfs-client与beegfs-meta通信-获取属性日志

beegfs-client与beegfs-storage通信-读取文件

FhgfsOps_read

FhgfsOpsHelper_readCached

FhgfsOpsRemoting_readfile

FhgfsOpsRemoting_readfileVec

FhgfsOpsCommKit_readfileV2bCommunicate

FhgfsOpsCommkit_communicate

CommKitState enum

__commkit_prepare_generic

__commkit_sendheader_generic

__commkit_senddata_generic

__commkit_recvheader_generic

__commkit_recvdata_generic

CommKitContextOps readfileOps

__commkit_cleanup_generic

client与storage通信日志记录

读取15M文件,client部分日志记录

beegfs-client FhgfsOps_flush

         FhgfsOps_flush

__FhgfsOps_flush

FhgfsOpsHelper_flushCache

__FhgfsOpsHelper_flushCacheUnlocked

刷新日志信息

 beegfs-client FhgfsOps_release

FhgfsOps_release

FhgfsInode_releaseHandle

FhgfsOpsHelper_closefileWithAsyncRetry

FhgfsOpsRemoting_closefileEx

MessagingTk_requestResponseNodeRetryAutoIntr

释放日志信息

beegfs-storage读取文件流程

storage读取文件主要流程整理 

读取文件结束日志

beegfs消息类型

NetMessageFactory

ReadLocalFileV2MsgEx

 ReadLocalFileV2MsgEx::  openFile

SessionLocalFile::openFile 

ReadLocalFileV2MsgEx::incrementalReadStatefulAndSendV2

storage读取文件日志


     为了分析beegfs读取文件源码的完整流程,从cat文件入手,分析beegfs-client cat文件时,与meta和storage的完整交互过程,以此记录分析过程。

cat读取文件client与meta和storage交互过程 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莹火233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值