libvirt 到后面 driver。每个方法里都有很多相同的,比如 qemuDomObjFromDomain  qemuDomainObjBeginJob  qemuDomainObjEnterMonitor qemuDomainObjExitMonitor qemuDomainObjEndJob   virDomainObjEndAPI。

这些都是后面对应方法必须写的,保证同一个vm只能有一个job在执行和只有一个qmp发出。

如果基础好,理解也是很快的。mutex锁,条件变量。这些。

vm = qemuDomObjFromDomain(domain)

qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY)

qemuDomainObjEnterMonitor

qemuDomainObjExitMonitor(driver, vm)

qemuDomainObjEndJob(driver, vm);

virDomainObjEndAPI(&vm);

 

主要分析图:

libvirt job 锁机制分析

相关文章:

  • 2021-07-28
  • 2021-05-10
  • 2021-07-30
  • 2021-10-11
  • 2022-12-23
  • 2022-01-19
  • 2022-01-18
  • 2021-09-10
猜你喜欢
  • 2021-04-03
  • 2021-12-13
  • 2021-09-30
  • 2022-12-23
  • 2021-08-28
  • 2022-12-23
  • 2021-07-26
相关资源
相似解决方案