From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=45891 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ovuc0-0002PV-AS for qemu-devel@nongnu.org; Wed, 15 Sep 2010 12:13:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Ovubw-0006Cg-Ay for qemu-devel@nongnu.org; Wed, 15 Sep 2010 12:13:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:23094) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ovubw-0006CQ-4H for qemu-devel@nongnu.org; Wed, 15 Sep 2010 12:13:28 -0400 From: Juan Quintela In-Reply-To: <4C8CD0DA.40401@codemonkey.ws> (Anthony Liguori's message of "Sun, 12 Sep 2010 08:08:42 -0500") References: <1284213896-12705-1-git-send-email-aliguori@us.ibm.com> <1284213896-12705-4-git-send-email-aliguori@us.ibm.com> <4C8CAE9C.4030504@redhat.com> <4C8CD0DA.40401@codemonkey.ws> Date: Wed, 15 Sep 2010 18:10:48 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: [Qemu-devel] Re: [PATCH 3/3] disk: don't read from disk until the guest starts List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Kevin Wolf , Anthony Liguori , Avi Kivity , Stefan Hajnoczi , qemu-devel@nongnu.org Anthony Liguori wrote: > On 09/12/2010 05:42 AM, Avi Kivity wrote: >> On 09/11/2010 05:04 PM, Anthony Liguori wrote: >>> This fixes a couple nasty problems relating to live migration. >>> >>> 1) When dealing with shared storage with weak coherence (i.e. NFS), >>> even if >>> we re-read, we may end up with undesired caching. By delaying >>> any reads >>> until we absolutely have to, we decrease the likelihood of any >>> undesirable >>> caching. >>> >>> 2) When dealing with copy-on-read, the local storage acts as a >>> cache. We need >>> to make sure to avoid any reads to avoid polluting the local cache. >>> >>> + >>> static void ide_identify(IDEState *s) >>> { >>> uint16_t *p; >>> @@ -105,6 +132,8 @@ static void ide_identify(IDEState *s) >>> return; >>> } >>> >>> + guess_geometry(s); >>> + >> >> This can cause a disk read, no? Shouldn't it be made asynchronous? > > Yes, it should. I'm not sure there's an easy way to make it > asynchronous though not because of the block layer but because of how > these functions are called. > >> >> Or just move it to just before the guest starts? > > We don't really have a notion of "guest starts" today although maybe > we should. I agree that we should have more states. Expecting Migration/Migration done are quite special casses that are handled adhoc now. Having some state like: NeverRun will make trivial to have vm_start() do the right thing on the 1st run. Later, Juan. > Regards, > > Anthony Liguori