欢迎使用CSDN-markdown编辑器

原创 2015年07月10日 09:21:15

sd_create_hyper_volume—>opcode:SD_OP_NEW_VDI
exec_local_req
submit_local_request—>添加req到sys->local_req_queue
|
|
V
local_req_handler—>处理本地消息
queue_request—>根据Op Type选择处理方式
queue_cluster_request—>调用cluster driver(zookeeper)来全局发送消息
sys->cdrv->block<—>zk_block
add_event—>type:EVENT_BLOCK
zk_queue_push
zk_create_seq_node—>添加zk事件,事件序号单调增加
|
|
|
V
zk_event_handler—>调用zk_event_handlers
zk_handle_block
sd_block_handler—>非本节点处理的消息直接返回,注册操作函数do_process_work和cluster_op_done
queue_work—>将req消息添加到sys->block_wqueue,唤醒工作线程
|
|
|
V
——-worker_routine—>工作线程回调函数,完成后添加到finished_list中
| work->fn(work)<—->do_process_work
| req->op->process_work(req)<—>cluster_new_vdi
| vdi_create—>获取可用vid,创建vdi
|
|——>worker_thread_request_done处理finished_list上的任务
work->done(work)<—->cluster_op_done
prepare_cluster_msg—>构建需要发送的消息
sys->cdrv->unblock<—->zk_unblock
add_event—>添加EVENT_UNBLOCK事件,发送构建的消息
|
|
|
V
zk_event_handler—>调用zk_event_handlers
zk_handle_unblock
sd_notify_handler—>本节点消息req需要put,非本节点消息进行main处理
do_process_main—>调用注册的main函数
op->process_main<—->post_cluster_new_vdi
atomic_set_bit(nr, sys->vdi_inuse)—>成功时将相应的位置位

相关文章推荐

欢迎使用CSDN-markdown编辑器

  • 2015年10月14日 10:47
  • 5KB
  • 下载

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • jxm_96
  • jxm_96
  • 2016年07月07日 19:53
  • 214

欢迎使用CSDN-markdown编辑器

写东西晚啦,上次写博客应该是俩月前了。工作快一个月了,一直在学习H5、div+css。工作需要,慢慢来。用css实现一个下拉列表,借用网友的代码: box,#box2,#box3,#box4{p...

gulp常用

全局安装 gulp=>$ npm install –global gulp 作为项目的开发依赖(devDependencies)安装: $ npm install –save-dev gulp 在项...

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • wee616
  • wee616
  • 2016年11月01日 22:32
  • 98

欢迎使用CSDN-markdown编辑器

1. 软件生命周期(SDLC)的六个阶段 1、问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。 2、需求分析 在确定软件开...
  • wwsMr
  • wwsMr
  • 2015年12月27日 21:17
  • 168

第一行代码 服务

10 服务10.1服务是什么服务(Service)是Android中实现程序后台运行的解决方案,适合执行不需要和用户交互但还要求长期执行的任务。 服务的运行不依赖于任何用户界面。 服务并不是运行在...

欢迎使用CSDN-markdown编辑器

列表一切数据都可以打包进去的数据容器member = [‘xiaoji��’,’小布丁’,’黑夜’ ]添加元素member.append(?)len(member)member.append(只要一个...

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • geself
  • geself
  • 2017年05月17日 09:47
  • 47
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:欢迎使用CSDN-markdown编辑器
举报原因:
原因补充:

(最多只允许输入30个字)