当前位置: 首页 > news >正文

Ceph IO流程分段上传(1)——InitMultipart

1 引言

Ceph是一个分布式对象存储,其代码经历十多年的发展也是愈见复杂,其IO也是从客户端到存储网关,经历PG到达底层的OSD,其中也是经历相当长的链路。在整理IO链路的过程中也是尝试多种方式,效果始终不令自己满意,经常追查某个调用栈到最底层之后忘了之前追查的函数,整理的文档逻辑也不甚清晰,于是思考过后决定使用整理调用栈的方式,并且在重点函数的地方链接到其他文档进行讲解,尽量保证主线逻辑的清晰,如果有继承关系或者重写的函数也会尽量标明。

=>表示函数返回值
->表示继承关系
|–表示调用栈,缩进表示被调用的关系,同一列的函数在同一个函数被调用

2 init multipart

RGWCivetWebFrontend::process()
|–process_request()
|\quad|–RGWREST::get_handler()
|\quad|\quad|–RGWRESTMgr::get_manager() => RGWRESTMgr_S3
|\quad|\quad|–RGWRESTMgr_S3::get_handler() => RGWHandler_REST_Obj_S3 -> RGWHandler_REST_S3 -> RGWHandler_REST
|\quad|–RGWHandler_REST::get_op()
|\quad|\quad|–RGWHandler_REST_Obj_S3::op_post() => RGWInitMultipart_ObjStore_S3 -> RGWInitMultipart_ObjStore -> RGWInitMultipart
|\quad|–RGWInitMultipart::get_type() => RGW_OP_INIT_MULTIPART
|\quad|–rgw_process_authenticated()
|\quad|\quad|–RGWInitMultipart::pre_exec()
|\quad|\quad|–RGWInitMultipart::execute()
|\quad|\quad|\quad|–RGWRados::Object::Write::write_meta()
|\quad|\quad|\quad|\quad|–RGWRados::Object::Write::_do_write_meta()

下一节将介绍分块上传对象multipart-upload接口。

http://www.dtcms.com/a/389164.html

相关文章:

  • 大数据毕业设计选题推荐-基于大数据的农作物产量数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
  • 【回归之作】学校实训作业:Day04面向对象思想编程
  • Ubuntu20.04或者Ubuntu24.04 TypeC-连接屏幕不显示问题
  • 【SQLSERVER】SQL Server 表导出与导入
  • postgresql和mongodb谁的地位更高
  • RK3588+复旦微JFM7K325T工业控制解决方案
  • RabbitMQ全方位解析
  • 云望无人机图传原理,无人机图传方式哪种好
  • 无人机50公里遥控模块技术要点与难点
  • 【三维重建】Octree-GS:基于LOD的3DGS实时渲染(TPAMI2025)
  • 《深度拆解3D开放世界游戏中角色攀爬系统与地形碰撞网格动态适配的穿透卡顿复合故障》
  • 数据库mysql连接池:从原理到实践的全面解析
  • # 深入理解栈、栈帧与递归:从迭代与递归归并排序双视角解析
  • Django 完整项目开发:博客系统
  • FPGA部署视觉模型
  • 课后实验实验拓扑:
  • 二阶段 docker 构建
  • React原理二
  • 116.block design 设计中设置的DDR起始地址的作用是什么
  • 报名中|2025 Maple 用户大会
  • 深入解析Channel:数据流动的秘密通道
  • 一键快速发布服务
  • 栈-394.字符串解码-力扣(LeetCode)
  • 【数据库】视图与表的区别:深入理解数据库中的虚拟表
  • 保障货物安全:商贸物流软件的实时追踪与风险预警机制​
  • 第二部分:VTK核心类详解(第23章 vtkInteractor交互器类)
  • 【LeetCode】45. 跳跃游戏 II
  • 【C++进阶】C++11的新特性—右值引用和移动语义
  • AssemblyScript 入门教程(4)AssemblyScript 编译器选项与高级应用指南
  • rust编写web服务09-分页与搜索API