RGW Create bucket

来源:互联网 发布:ubuntu如何使用cd命令 编辑:程序博客网 时间:2024/05/01 21:53

RGW Create bucket
client 提交一个的请求后,daemon会实例化一个handler来处理该请求,如创建一个bucket。
daemon会实例一个RGWHandler_ObjStore_Bucket_S3 handler来处理该请求。通过请求的请求方法和url可以route到 RGWOp *op_put();函数来完成,本次bucket的创建工作。
根据请求的参数再次route,实例化RGWOP RGWCreateBucket_ObjStore_S3,RGWCreateBucket_ObjStore_S3继承于RGWCreateBucket_ObjStore并实现了get_params()和send_response()。
RGWCreateBucket_ObjStore_S3继承于RGWCreateBucket_ObjStore。
RGWCreateBucket_ObjStore继承于RGWOp,且在该类中实现了几个比较重要的方法:execute()和pre_exec()。
pre_exec()
->rgw_bucket_object_pre_exec()
判断是否启用100-continue和在响应的header中携带bucket名字。
execute()
RGWCreateBucket::execute()
–>get_params() //get body data from requset
–>RGWRados->get_bukcet_info() //get specified bucket info
–>RGWRados-create_bucket() //create new bucket
–>rgw_link_bucket() //link bucket with user

1 0
原创粉丝点击