[libvirt] [PATCH 3/5] [FIX] macvtap support for libvirt -- qemu support

Daniel P. Berrange berrange at redhat.com
Mon Feb 15 17:16:31 UTC 2010


On Mon, Feb 15, 2010 at 12:10:07PM -0500, Stefan Berger wrote:
> Ed Swierk <eswierk at aristanetworks.com> wrote on 02/12/2010 11:29:59 AM:
> 
> > 
> > On Thu, Feb 11, 2010 at 10:19 AM, Stefan Berger <stefanb at us.ibm.com> 
> wrote:
> > > This part adds support for qemu making a macvtap tap device available
> > > via file descriptor passed to qemu command line. This also attempts to
> > > tear down the macvtap device when a VM terminates. This includes 
> support
> > > for attachment and detachment to/from running VM.
> > 
> > In qemudShutdownVMDaemon(), calling delMacvtapByMACAddress() before
> > virKillProcess() doesn't work. delMacvtapByMACAddress() tries to be
> > polite and not delete the macvtap interface if it appears to be owned
> > by someone else, but in this case it's our own qemu still holding the
> > tap fd open:
> > 
> >   libvirtd: 16:10:04.836: error : openTap:567 : cannot open macvtap
> > tap device /dev/tap63: Device or resource busy
> > 
> > When the qemu process does finally stop, the macvtap interface is 
> > still around.
> 
> 
> How did you shut down the VM in this case? I may not have tried 'virsh 
> shutdown', but halting from within the VM should clean up properly, or 
> does this also not work?

Yeah that'll trigger things in a different order. if you shutdown inside
the VM, then when qemudShutdownVMDaemon() is called the process will already
be dead. If you use virsh shutdown, then qemudShutdownVMDaemon() itself will
be killing the process

Regards,
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 :|




More information about the libvir-list mailing list