kfs代码研究(六、ChunkManager分析)

来源:互联网 发布:it业务范围 编辑:程序博客网 时间:2024/05/18 00:45
 ChunkManager.cc:
ChunkManager主要是对chunk操作的具体实现。
ChunkManager::WriteChunk:
1、计算要写的数据长度+chunk已经使用的量是否超过了一个chunk的大小,如果超过则截断
2、如果要写入的长度大于64k,则写入的长度必须有64k的整数倍
3、如果写入长度小于64k,则读取从当前偏移量开始64k的数据,计算校验和。(这个逻辑有点怪,没搞明白)
4、写入文件
ChunkManager::ReadChunk:
1、读取没有什么复杂的逻辑,只是对读取的偏移量offset和数据量numbytes按64k做圆整
2、读取chunk文件
ChunkManager::AllocChunk:
1、根据chunkid到mChunkTable查找chunk,如果存在则修改chunk版本号。
2、如果不存在,则分配ChunkInfoHandle对象插入到mChunkTable。
ChunkManager::DeleteChunk:
1、在mChunkTable中查找chunk信息。
2、在mChunkTable中删除chunk信息。
3、更新剩余空间信息。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果手机忘记电子邮箱验证码怎么办 退差价把红包退还了怎么办 网上购票票丢了怎么办 岗位人手不够老板又不招人来怎么办 辞职后提成不发怎么办 老板给客户吵架员工该怎么办 冰柜声音大怎么办嗡嗡响 交了钱电没有怎么办 小白熊电动吸奶器显示F1怎么办 花洒的水变小了怎么办 手机插卡处坏了怎么办 吉利帝豪一键启动钥匙没电怎么办 居民医保断交5年怎么办 社保和医保断了怎么办 停缴了两年社保怎么办 医保交不够20年怎么办 医保断交4个月怎么办 医保断交5个月怎么办 换城市后社保卡怎么办 苹果6s呼叫失败怎么办 苹果手机打电话显示呼叫失败怎么办 苹果手机经常呼叫失败怎么办 苹果手机呼叫号码呼叫失败怎么办 好友把我拉黑了怎么办 有人一直打骚扰电话怎么办 每天都有骚扰电话怎么办 苹果7被电话轰炸怎么办 苹果手机接听声音小怎么办 微信账号封了怎么办 在京东买的手机出现问题怎么办 销售没胆量扫楼怎么办 骨龄比实际年龄小怎么办 身体年龄比实际年龄大怎么办 吃了不熟的鸡蛋怎么办 六角龙尾巴烂了怎么办 兰花长出来的包怎么办 长寿花花开败了怎么办 手机分期0首付怎么办办 办分期手机掉了怎么办 手机办分期被骗了怎么办 办手机分期年龄不够怎么办