kfs代码研究(三、meta server具体消息处理)

来源:互联网 发布:淘宝怎么投诉假货 编辑:程序博客网 时间:2024/05/23 19:17
Request.cc:
这个文件实现了每个命令具体的操作
ParseCommand:根据命令字查找处理函数
parseHandlerLookup、parseHandlerLookupPath、parseHandlerCreate、parseHandlerRemove、parseHandlerMkdir、parseHandlerRmdir、parseHandlerReaddir、parseHandlerReaddirPlus、parseHandlerRename、parseHandlerSetMtime这些命令从字面就可以看出什么意思,不作过多解释
parseHandlerGetalloc:获取对应文件对应偏移量的chuck信息,包括chuckid,分布的server等
parseHandlerGetlayout:获取对应文件的所有chunk信息,包括chuckid,分布的server等
parseHandlerAllocate: 给一个文件分配一个chunk;如果是追加模式,就找个没用完的chunk分配给一个文件,否则重新分配一个chunk,返回chunkid和在chunk中的偏移量
parseHandlerTruncate:truncate一个文件到一个偏移量,如果到那个偏移量时,是未分配的,则分配chunk给这个文件。
parseHandlerCoalesceBlocks:合并两个文件的块
parseHandlerRetireChunkserver:暂时或者是永久剔除一个chunk server
parseHandlerChunkCorrupt:chuck server崩溃
parseHandlerUpServers:解析chunk server处于启动状态的命令