From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=54127 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q6lSc-0004JW-GI for qemu-devel@nongnu.org; Mon, 04 Apr 2011 11:13:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q6lRO-0005VX-49 for qemu-devel@nongnu.org; Mon, 04 Apr 2011 11:11:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44267) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q6lRN-0005VK-Ex for qemu-devel@nongnu.org; Mon, 04 Apr 2011 11:11:41 -0400 Message-ID: <4D99DF98.2030708@redhat.com> Date: Mon, 04 Apr 2011 18:11:20 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH v2 3/3] raw-posix: Re-open host CD-ROM after media change References: <1301425482-8722-1-git-send-email-stefanha@linux.vnet.ibm.com> <1301425482-8722-4-git-send-email-stefanha@linux.vnet.ibm.com> <4D99C61E.3080600@redhat.com> <4D99C9ED.3020602@codemonkey.ws> <4D99CC74.9070703@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Kevin Wolf , Stefan Hajnoczi , Juan Quintela , libvir-list@redhat.com, qemu-devel@nongnu.org, Ryan Harper , Amit Shah On 04/04/2011 06:09 PM, Stefan Hajnoczi wrote: > On Mon, Apr 4, 2011 at 2:49 PM, Avi Kivity wrote: > > On 04/04/2011 04:38 PM, Anthony Liguori wrote: > >> > >> On 04/04/2011 08:22 AM, Avi Kivity wrote: > >>> > >>> On 04/03/2011 02:57 PM, Stefan Hajnoczi wrote: > >>>> > >>>> In order for media change to work with Linux host CD-ROM it is > >>>> necessary to reopen the file (otherwise the inode size will not > >>>> refresh, this is an issue with existing kernels). > >>>> > >>> > >>> Maybe we should fix the bug in Linux (and backport as necessary)? > >>> > >>> I think cd-rom assignment is sufficiently obscure that we can require a > >>> fixed kernel instead of providing a workaround. > >> > >> Do reads fail after CD change? Or do they succeed and the size is just > >> reported incorrectly? > >> > >> If it's the later, I'd agree that it needs fixing in the kernel. If it's > >> the former, I'd say it's clearly a feature. > >> > > > > Even if it's a documented or intentional feature, we can add an ioctl to > > "refresh" the device with up-to-date data. > > It's possible to fix this in the kernel. I just haven't written the > patch yet. The inode size needs to be updated when the new medium is > detected. > > I haven't tested but I suspect reads within the size of the previous > medium will succeed. But if the new medium is larger then reads > beyond the old medium size will fail. > > The size reported by lseek(fd, 0, SEEK_END) is outdated. I believe a kernel fix is best in that case, leaving qemu alone. -- error compiling committee.c: too many arguments to function