[libvirt] changing files in /var/lib/libvirt/images

Assume I am working with virtual disk image files in /var/lib/libvirt/images such as removing a file, defining a new file (with qemi-img create or qemu-img convert), or simply copying a file ("cp") from elsewhere such as VMware. When I do this, Guest definition or adding hardware to an existing guest under virt- manager does not "see" the file change. That is, until I terminate virt- manager and restart /etc/init.d/libvirtd. Is there some better/easier/less-disruptive means of notifying "whatever" that the list of files has changed? I noticed that /etc/init.d/libvirtd force-reload has no effect. I also notice that restarting libvirtd and/or terminating and restarting virt- manager while there are guests running really screws things up. If such a "means" does not exist, should one be created? [should this be an RFE in bugzilla?] Gene

On Sun, Jul 19, 2009 at 10:41:41AM -0400, Gene Czarcinski wrote:
Assume I am working with virtual disk image files in /var/lib/libvirt/images such as removing a file, defining a new file (with qemi-img create or qemu-img convert), or simply copying a file ("cp") from elsewhere such as VMware. When I do this, Guest definition or adding hardware to an existing guest under virt- manager does not "see" the file change. That is, until I terminate virt- manager and restart /etc/init.d/libvirtd.
Is there some better/easier/less-disruptive means of notifying "whatever" that the list of files has changed?
You're looking for: virsh pool-refresh POOLNAME
I also notice that restarting libvirtd and/or terminating and restarting virt- manager while there are guests running really screws things up.
It should not have any ill-effects if you have libvirt >= 0.6.3. It is designed to be allowed to be restarted at any time & re-sync its state upon startup. NB, there should be no need to ever restart libvirtd for anything other than changes to /etc/libvirt/libvirt.conf, or /etc/libvirt/qemu.conf. Everything else should be able to be handled via SIGUP (service libvirtd reload), or virsh commands like pool-refresh. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Monday 20 July 2009 05:19:36 Daniel P. Berrange wrote:
On Sun, Jul 19, 2009 at 10:41:41AM -0400, Gene Czarcinski wrote:
Assume I am working with virtual disk image files in /var/lib/libvirt/images such as removing a file, defining a new file (with qemi-img create or qemu-img convert), or simply copying a file ("cp") from elsewhere such as VMware. When I do this, Guest definition or adding hardware to an existing guest under virt- manager does not "see" the file change. That is, until I terminate virt- manager and restart /etc/init.d/libvirtd.
Is there some better/easier/less-disruptive means of notifying "whatever" that the list of files has changed?
You're looking for:
virsh pool-refresh POOLNAME
I also notice that restarting libvirtd and/or terminating and restarting virt- manager while there are guests running really screws things up.
It should not have any ill-effects if you have libvirt >= 0.6.3. It is designed to be allowed to be restarted at any time & re-sync its state upon startup.
NB, there should be no need to ever restart libvirtd for anything other than changes to /etc/libvirt/libvirt.conf, or /etc/libvirt/qemu.conf. Everything else should be able to be handled via SIGUP (service libvirtd reload), or virsh commands like pool-refresh.
Thanks ... pool-refresh seems to do the trick and is what I was looking for. Comment: Doing "virsh -h" lists a lot more capabilities than are list in the virsh man page. Furthermore, looking at available documentation on http://libvirt.org/, I do not see any info there about these new capabilities either. Other than the source code, can you point me to some documentation so I do not keep having problems/questions which are already addressed by the code? Googling around, I found http://libvirt.org/storage.html ... however, this is NOT listed on the main page of the website http://libvirt.org/ and it still does not describe the capabilities in virsh. More than likely, this is a "work-in=progress" and documentation has not been created for the latest capabilities yet. Gene Gene
participants (2)
-
Daniel P. Berrange
-
Gene Czarcinski