This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH] xl: Special case tap/aio for disk validation

To: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] xl: Special case tap/aio for disk validation
From: Kamala Narasimhan <kamala.narasimhan@xxxxxxxxx>
Date: Thu, 27 Jan 2011 20:56:14 -0500
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>, "Kamala Narasimhan \(3P\)" <kamala.narasimhan@xxxxxxxxxx>
Delivery-date: Thu, 27 Jan 2011 17:58:05 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type; bh=FGz672or1sv5nFz6vaceGl7jxqiQwE/fVUCrsRCq3Bg=; b=VQGfvHFpWaPOJb+bO+51lSYcLPW59xkSI8U5EbTpO8PG/TNq6BFHOJnTzo0Ko7hkvX dWbblz0nU+3XuLHadaeQvH43YW9nPCRxUtt/09huWjwj71mz9u77J7eBXMfpBxnEMqhU ghxO6yEtnKb21fVEYsmK87ROu0ehi9ZIOXTek=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type; b=maznHvmMdMnVW0gkHYLmj+tGCG/RaVH3l8vD72HqQ21mTUWJvSqwQgvUsgfNG2trxD Q3aX3rYnHy4cBt114aiY19iDS51ZGNjskcuvMCiI4U8sMQdbsdSUlTQ4q7ZzE+LXypGD sDnMwH80kqXfgwqEOzJn2Wc/1COa7FmqmgZRY=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <alpine.DEB.2.00.1101271740170.7277@kaball-desktop>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4D407A06.1050902@xxxxxxxxx> <alpine.DEB.2.00.1101271506410.7277@kaball-desktop> <4D41ABEA.2080802@xxxxxxxxx> <alpine.DEB.2.00.1101271740170.7277@kaball-desktop>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (X11/20101027)
>>> Following these notes, we need:
>>> - a document describing this in full details.
>> Would a txt file do?  Where would it go - under tools/examples where other 
>> config options are described (albeit in a config file and not a separate 
>> file)?
> Yep. A text file under docs will be perfect.
Attached is a first stab at this for your perusal.  It is mostly based on the 
discussion we had in this thread.  Please let me know any/all changes you would 

I am sending this in advance as anything I have captured wrong here would mean 
it is likely that the code changes I am making right now could also be wrong!  
So please do respond back if I have incorrectly captured any  conclusion we 
arrived at in terms of the supported/deprecated attributes for the disk 
configuration option.  Thanks!


                                             xl Disk Configuration Option

This document provides a brief description of xl disk configuration option, 
different attributes that can be passed through it and the format in which they 
need to be specified.

At a higher level, xl disk configuration option takes the following format:

    disk = [ 'format:path,vdev:type,attrib', 'format:path,vdev:type,attrib', 
... ]

Not all attributes are required and some are deprecated.  Following is a brief 
description of each of the attribute along with information on whether or not 
they are mandatory.


Description:         Specifies the format of image file.
Supported values:    raw, qcow, qcow2, vhd 
Deprecated values:   None
Mandatory:           No. When not specified raw format is assumed.  For a 
physical block device the format must be raw and need not be explicitly 
specified.  For an image file the format could be one of the supported values 
and when not specified assumed to be raw.
Backend used:        For qcow/qcow2 qemu backend is used as tapdisk2 does not 
work with these formats.  For raw format image file, tapdisk2 is used and when 
not available qemu backend is used as fallback.  For vhd format tapdisk2 is 
used and tapdisk2 unavailability will result in failure as qemu fallback option 
does not support vhd file format.                       

Description:         Block device or image file path.  For a physical block 
device a /dev will be prepended when not specified and when the path doesn't 
start with a '/'.
Supported values:    N/A
Deprecated values:   N/A
Mandatory:           Yes


Description:         Virtual device as seen by the guest (also referred to as 
guest drive designation in some specifications).
Supported values:    hd[x], xvd[x]
Deprecated values:   None
Mandatory:           Yes


Description:         Qualifies virtual device type.
Supported values:    cdrom
Deprecated values:   None
Mandatory:           No


Description:         Specifies access control information.  Whether or not the 
block device is provided to the guest in read-only or read-write mode depends 
on this attribute.
Supported values:    'r', 'w' 
Deprecated values:   None
Mandatory:           Yes

Following are deprecated attributes.  Though these atrributes are supported for 
backward compatibility, it's usage is not recommended and support for it is 
likely to be dropped in future versions of xl.


Description:         Specifies the block device type.
Supported values:    phy, file, tap 
Backend used:        blkback for type 'phy'.  Will result in failure when dom0 
does not support blkback backend.  For block device type 'file' with format raw 
or when no format specfied, tapdisk2 is used when present otherwise qemu 
fallback option is used.  For 'file' or 'tap' block device type with format 
'vhd', only tapdisk2 is used as qemu does not support vhd format.  Absence of 
tapdisk2 support in this case will result in failure as specified earlier.  


Description:         Backend implementation option to choose from while 
accessing block device. Example: tap:aio:vhd:/path/to/file
Supported values:    'aio', 'tapdisk', 'ioemu'

Example usages:

disk = [ 'vhd:/path/to/dev,hda,w', '/path/to/iso,hdc:cdrom,r' ]
disk = [ 'path/to/phy/dev,hda,w', '/dev/cdrom,hdc:cdrom,r' ]
disk = [ 'qcow:/path/to/file,hda,w' ]
disk = [ 'qcow2:/path/to/file,hda,w', 'raw:/path/to/dev,hdc:cdrom,r' ]

Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>