From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TinQC-0003yx-3o for qemu-devel@nongnu.org; Wed, 12 Dec 2012 09:36:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TinQ2-0008WK-Kb for qemu-devel@nongnu.org; Wed, 12 Dec 2012 09:36:28 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55520) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TinQ2-0008W5-DJ for qemu-devel@nongnu.org; Wed, 12 Dec 2012 09:36:18 -0500 Message-ID: <50C8965A.7020004@redhat.com> Date: Wed, 12 Dec 2012 15:36:10 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <20121212105101.GA6461@redhat.com> <20121212135050.GC16270@stefanha-thinkpad.redhat.com> <50C88E53.4080200@redhat.com> <20121212143038.GD15555@redhat.com> In-Reply-To: <20121212143038.GD15555@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCHv2] virtio: verify that all outstanding buffers are flushed List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Anthony Liguori , Stefan Hajnoczi , Rusty Russell , qemu-devel@nongnu.org, Avi Kivity , Stefan Hajnoczi Il 12/12/2012 15:30, Michael S. Tsirkin ha scritto: > > Same for virtio-scsi. Each request in that case is sent as part of the > > SCSIDevice that it refers to, via callbacks in SCSIBusInfo. It is in virtio_scsi_load_request. > Looks like this will leak ring entries. > > All I see is: virtio_scsi_load calling virtio_load. > When the loading side will get last avail index it > will assume all requests up to that value have > completed, so it will never put the missing heads > in the used ring. Ok, so we need some API for virtio-{blk,scsi} to communicate back the indexes of in-flight requests to virtio. The indexes are known from the VirtQueueElement, so that's fine. Even better would be a virtio_save_request/virtio_load_request API... Paolo