Skip to content

Latest commit

 

History

History
43 lines (36 loc) · 2.06 KB

gluster-create-volume处理过程.md

File metadata and controls

43 lines (36 loc) · 2.06 KB

涉及到基本命令处理的源文件

作者 时间 QQ技术交流群
[email protected] 2020/12/01 中国开源存储技术交流群(672152841)
  • rpc/rpc-lib/src/protocol-common.h:定义了cli命令的一些枚举变量,包括了gluster_cli_procnum、glusterd_mgmt_procnum、glusterd_brick_procnum等
  • xlators/mgmt/glusterd/glusterd-handler.c:定义gd_svc_cli_actors、gd_svc_cli_trusted_actors,来针对客户端cli请求的处理rpcsvc_program数组,glusterd这些protocol-common中定义的枚举作为这些d_svc_cli_actors、gd_svc_cli_trusted_actors下标,数组中每一个rpcsvc_actor_t对应cli处理的一个函数

gluster如何创建volume?

  • gluster使用gluster volume create 命令进行volume的创建,使用gd_svc_cli_actors[GLUSTER_CLI_CREATE_VOLUME]这个rpcsvc_actor_t实现,就具体定义如下:
static rpcsvc_actor_t gd_svc_cli_actors[GLUSTER_CLI_MAXVALUE] = {
    [GLUSTER_CLI_CREATE_VOLUME] = {"CLI_CREATE_VOLUME",
                                   glusterd_handle_create_volume, NULL,
                                   GLUSTER_CLI_CREATE_VOLUME, DRC_NA, 0},
    [GLUSTER_CLI_START_VOLUME] = {"START_VOLUME",
                                  glusterd_handle_cli_start_volume, NULL,
                                  GLUSTER_CLI_START_VOLUME, DRC_NA, 0}
}