libvirt 为 Domain 对象维护 UUID 与名称两个哈希索引,两个入口指向同一个对象。
附源码片段 · 索引与查找
虚拟化管理工具栈 · 虚拟机对象索引与 CPU 亲和性
libvirt:统一管道与缓冲区的资源所有权由命令对象接管管道与缓冲区,统一调用方在成功、失败路径上的资源归属。
libvirt GLib 事件循环:避免连接清理饥饿在文件描述符耗尽时,优先执行连接清理,使服务有机会释放 FD 并恢复接收请求。
libvirt 为 Domain 对象维护 UUID 与名称两个哈希索引,两个入口指向同一个对象。
libvirt 将 vCPU 允许使用的宿主 CPU 集合表示为位图,并转换为运行时亲和性配置。
virCommandSetSendBuffer 统一接管数据和管道,让虚拟 TPM 调用方只负责取得口令、传入缓冲区并组装参数。
libvirt 把 FD 和定时器接到 GLib 主循环,将停止监听与释放对象分开,并提高连接清理任务的优先级,避免资源用尽时清理一直排不上。