Port-xen archive

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

Re: Question to recent xentools3 update



Juergen Hannken-Illjes wrote:
On Thu, Mar 27, 2008 at 04:54:13PM +0100, Christoph Egger wrote:
On Thursday 27 March 2008 15:59:35 Juergen Hannken-Illjes wrote:
On Thu, Mar 27, 2008 at 03:51:51PM +0100, Manuel Bouyer wrote:
On Thu, Mar 27, 2008 at 02:18:57PM +0100, Christoph Egger wrote:
Hi!

In pkgsrc/sysutils/xentools3/patches/patch-di there is a comment,
which says, reads from raw disk must be sector-aligned.

a) Why is that?
The raw device pass requests directly to the underlying device, with
only check/adjustements against the partition bounds. Especially it won't
try to do read/modify/write for write requests, or expand the read if
it's not sector-aligned.
I guess, these aren't desirable in this case.

b) Is there a non-raw device w/o this requirement?
The block device doesn't have this restriction. But it has other side
effects (as it goes though the buffer cache), I don't know if it would be
suitable for pygrub ... it's definitively not usaeable for the block
device backend, or for qemu-dm I/O.
As of -current the block device allows only ONE open, therefore it is not
usable by pygrub.
So the problem is, pygrub wants to open the disk multiple times ?
Or is it that xend has already plumbed in the device to qemu-dm ?
Is there something that prevents a second open?

Pygrub opens the device once and the kernel doesn't allow a second open.

For my setup with "disk = [ 'phy:/dev/raid0f,0x1,w' ]" I got an EBUSY when
pygrub tried to open the block device.  I don't understand enough of Xen to
say where this disk gets opened (xenbackendd, xbd device ...).

Isn't it possible to pass pygrub an edited version of the device name or
have pygrub edit it itself? If we were to use the non-raw device for pygrub
and the raw device for qemu-dm, would things work?

If a Xen config with "disk = [ 'phy:/dev/rraid0f,0x1,w' ]" works and no other
Xen component opens the corresponding block device this could work.  As my
Xen machine is in production now, I cannot test it.

When you create two new guests (for testing purpose) both with
"disk = [ 'phy:/dev/cd0a,0x1,r' ]" do you get an EBUSY when you start the second guest? I think, trying to start two guests from the same (Live-)CD shouldn't hurt.

Christoph



Home | Main Index | Thread Index | Old Index