[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH] Introduce dom0-min-space configuration option


  • To: Michal Novotny <minovotn@xxxxxxxxxx>
  • From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  • Date: Mon, 26 Jul 2010 13:31:07 +0200
  • Cc: "'xen-devel@xxxxxxxxxxxxxxxxxxx'" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
  • Delivery-date: Mon, 26 Jul 2010 04:32:14 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=CuPS0tswioGi/fLBAWUSc6ftrLT195TxxmP/409hpaKmNrRx+takYwJklEqhqto3dE VRuQCcwfx225Shzmi35tzClf4TGIfAx8bbOr4jWepO+eWRCZfAebfhj5ZY6/EOwED3P4 HCalmVNmjX+5dDk8FZBd+VrbOqY5dhx91m0rg=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On 07/26/2010 01:21 PM, Michal Novotny wrote:
On 07/26/2010 01:18 PM, Paolo Bonzini wrote:
On 07/26/2010 12:36 PM, Michal Novotny wrote:
On 07/26/2010 11:59 AM, Paolo Bonzini wrote:
On 07/26/2010 08:55 AM, Michal Novotny wrote:
Or do you think that we should alter the message in gunzip function to
say that there's an error in data stream (premature end of data
stream)
and that user should check for enough space on dom0?

No, the gunzip function (in libxc, if I understood the context) should
not even be called if pygrub could not write the file. Instead, it
should print something like

pygrub: No space left on device

and exit. There's absolutely no error checking here:

data = fs.open_file(chosencfg["kernel"]).read()
(tfd, bootcfg["kernel"]) = tempfile.mkstemp(prefix="boot_kernel.",
dir="/var/run/xend/boot")
os.write(tfd, data)
os.close(tfd)

(and likewise for initrd) and that's the bug.

Paolo

Paolo, that's correct but the issue here is that we don't know until we
extract it from image file.

os.write would return -1 and set errno to ENOSPC (besides, any other
errno should get the same treatment), no?

Maybe, I need to check the docs first but you're most likely right about
this. Nevertheless this is the pygrub code AFAIK so some patch for xend
would be necessary as well, otherwise libvirt-based tools would complain
with "Boot loader didn't return any data!" message.

That's the least of the problems, if a sensible error message is present too. I agree with Ian, let's first fix the main cause. Then we can see what the fallout is.

Paolo

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.