From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olaf Hering Subject: Re: [PATCH 06/18] xenpaging: allow only one xenpaging binary per guest Date: Mon, 18 Oct 2010 19:04:06 +0200 Message-ID: <20101018170405.GA31607@aepfle.de> References: <20101015141202.309585877@aepfle.de> <20101015141204.419704862@aepfle.de> <19644.31701.346075.873651@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Return-path: Content-Disposition: inline In-Reply-To: <19644.31701.346075.873651@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Jackson Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On Mon, Oct 18, Ian Jackson wrote: > Olaf Hering writes ("[Xen-devel] [PATCH 06/18] xenpaging: allow only one xenpaging binary per guest"): > > - ERROR("Error initialising shared page"); > > + switch ( errno ) { > > + case EBUSY: > > + ERROR("xenpaging is (or was) active on this domain"); > > + break; > > + case ENODEV: > > + ERROR("EPT not supported for this guest"); > > + break; > > + default: > > + ERROR("Error initialising shared page"); > > + break; > > Surely this should print the actual errno value. Ok, can be done. > > + /* Only one xenpaging at a time. If xenpaging crashed, > > + * the cache is in an undefined state and so is the guest > > + */ > > + rc = -EBUSY; > > + if ( d->mem_event.enabled ) > > + break; > > Is there any way to recover from this or is the guest just hosed ? If xenpaging dies for some reason, the bitmap which maps the "pageslot" in the pagefile to the gfn in the guest is gone. There is no way to recover from this situation. If the paging state should be persistant, then the maintained bitmaps have to be kept in memory and each page write has to be fsynced in some way. Some other way has to be found to prevent two xenpaging runs per domain_id. Olaf