From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44712) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WhlBx-0006wK-Gq for qemu-devel@nongnu.org; Tue, 06 May 2014 15:38:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WhlBl-0003Jf-Jo for qemu-devel@nongnu.org; Tue, 06 May 2014 15:38:17 -0400 Received: from mail.windriver.com ([147.11.1.11]:40558) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WhlBl-0003JE-9X for qemu-devel@nongnu.org; Tue, 06 May 2014 15:38:05 -0400 Message-ID: <5368F719.7070308@windriver.com> Date: Tue, 6 May 2014 08:52:09 -0600 From: Chris Friesen MIME-Version: 1.0 References: <533B22F2.4030209@windriver.com> <20140506133957.GX15810@stefanha-thinkpad.redhat.com> In-Reply-To: <20140506133957.GX15810@stefanha-thinkpad.redhat.com> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] qemu leaving unix sockets behind after VM is shut down List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: libvir-list@redhat.com, qemu-devel@nongnu.org On 05/06/2014 07:39 AM, Stefan Hajnoczi wrote: > On Tue, Apr 01, 2014 at 02:34:58PM -0600, Chris Friesen wrote: >> When running qemu with something like this >> >> -device virtio-serial \ >> -chardev socket,path=/tmp/foo,server,nowait,id=foo \ >> -device virtserialport,chardev=foo,name=host.port.0 >> >> the VM starts up as expected and creates a socket at /tmp/foo as expected. >> >> However, when I shut down the VM the socket at /tmp/foo is left >> behind in the filesystem. Basically qemu has "leaked" a file. >> >> With something like OpenStack where we could be creating/destroying >> many VMs this could end up creating a significant number of files in >> the specified directory. >> >> Has any thought been given to either automatically cleaning up the >> unix socket in the filesystem when qemu exits, or else supporting >> the abstract namespace for unix sockets to allow for automatic >> cleanup? > > Libvirt has a special case for the monitor socket in its > qemuProcessStop() function. > > Are you using the OpenStack libvirt driver? > > Perhaps QEMU should support cleanup but first I think we should check > the situation with libvirt. Yes, I am in fact using OpenStack/libvirt, and did eventually track down libvirt as the code that was cleaning up the monitor socket. Even so, I think this sort of change would be valid in qemu itself. qemu created the files, so really it should be up to qemu to delete them when it's done with them. They're not usable for anything with qemu not running, so there's no good reason to leave them laying around. Chris