Description of problem: The size info of Pool cannot refresh automatically after size info of another pool which shares same capacity changed. Version-Release number of selected component (if applicable): virt-manager-1.3.2-1.el7.noarch libvirt-1.3.4-1.el7.x86_64 qemu-kvm-rhev-2.6.0-4.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.Launch virt-manager, Click Edit->Connection Details->Storage, make sure there are two pools sharing same capacity of host,such as default pool and boot-scratch pool. 2.Notice the free size info of both pool is 5GiB 3.Make sure an volume existed in default pool and the allocation unit is big enough to observe the size info. # virsh vol-dumpxml --pool default test.img|grep allocation <allocation unit='bytes'>1073741824</allocation> 4.Click the volume file in default pool and delete it from the pool. 5.The free size of default pool changes to 6GiB automatically. 6.Click boot-scratch pool and check its free size. Actual results: The size info of boot-scratch doesn't change. Expected results: The size info of boot-scratch should be changed to correct value when selecting the pool. Additional info: The size info will be changed to correct value after refresh volume list of the pool.
We could add some hack in virt-manager to try to determine if pools are getting capacity info from the same host FS, and update our cached info when one pool changes. But that would be a hack. Instead I think libvirt should grow some magic for this in its eventual storage events handling... maybe detect when some cached FS values change, and emit an event for all pools that share that FS, or similar. So duping to the libvirt storage events bug *** This bug has been marked as a duplicate of bug 636027 ***