All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kamala Narasimhan <kamala.narasimhan@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Kamala Narasimhan (3P)" <kamala.narasimhan@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [PATCH] xl: Special case tap/aio for disk validation
Date: Fri, 28 Jan 2011 14:10:23 -0500	[thread overview]
Message-ID: <4D43149F.3030409@gmail.com> (raw)
In-Reply-To: <1296209178.14780.6993.camel@zakaz.uk.xensource.com>

[-- Attachment #1: Type: text/plain, Size: 475 bytes --]

I am attaching a newer version of the txt file that incorporates all the review
comments.  Here are the only changes I am yet to make -

1) Refer to IanJ's virtual disk specification once it is checked-in.
2) Include information pertaining to drbd and other arbitrary block device
types.  This information can be included post 4.1 as I gather from the
discussion on this topic.

Please let me know if I neglected any of your comments or if you have further
comments.

Kamala

[-- Attachment #2: xl-disk-configuration.txt --]
[-- Type: text/plain, Size: 5251 bytes --]



                         ----------------------------
                         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 (the attributes enclosed within square
brackets above are optional) and some are deprecated.  Following is a
brief description of each of the attribute along with information on
whether or not they are mandatory.


------------------
Attribute Details
------------------


format:
------

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.
path:
----

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:             No.  While a path is provided in most cases
                       there is an exception.  For a cdrom device, lack
                       of this attribute would imply an empty cdrom
                       drive. 

vdev:
----

Description:           Virtual device as seen by the guest (also 
                       referred to as guest drive designation in some 
                       specifications).  [ @TODO:  Refer to IanJ's virtual
                       disk specification here.]
Supported values:      hd[x], xvd[x], sd[x] etc.  Please refer to the
                       above specification for further details.
Deprecated values:     None 
Mandatory:             Yes

type:
----

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

attrib:
------

Description:           Specified 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


--------------
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' ]


-------------------------
Miscellaneous Information
-------------------------

---------------------
Deprecated Attributes
---------------------

Deprecated values are acceptable and will work the way they did
earlier except with a warning message printed to the xl log or screen.
However it's usage is supported purely for backward compatibility
purpose and not recommended. Also, support for these deprecated
attributes are likely to be dropped in future versions of xl.

The block-dev-type and access-type deprecated attributes described
below are prepended to the format attribute.  Example - tap:aio:qcow
Further details on the deprecated attributes are below:

block-dev-type:
--------------

Description:           Specifies the block device type.
Supported values:      phy,file, tap, tap2

access-type:
-----------

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

---------------------
Impementation Details
---------------------

Backend Details:
---------------

For 'phy' block device type, blkback is always used as the backend.
When the running dom0 instance does not support blkback, block device
access will fail.  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', 'tap' or 'tap2' 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.


When it comes to image format and how that affects the backend choice,
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, as
mentioned earlier tapdisk2 is used and tapdisk2 unavailability will
result in failure as qemu fallback option does not support vhd file
format.








[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

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

  parent reply	other threads:[~2011-01-28 19:10 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-26 19:46 [PATCH] xl: Special case tap/aio for disk validation Kamala Narasimhan
2011-01-27 15:17 ` Stefano Stabellini
2011-01-27 15:22   ` Ian Jackson
2011-01-27 15:35     ` Ian Campbell
2011-01-27 16:23       ` Ian Jackson
2011-01-27 17:46         ` Kamala Narasimhan
2011-01-27 17:59           ` Stefano Stabellini
2011-01-27 20:14             ` Kamala Narasimhan
2011-01-28  9:27               ` Ian Campbell
2011-01-28 12:51                 ` Stefano Stabellini
2011-01-27 17:53         ` Ian Campbell
2011-01-27 17:43       ` Kamala Narasimhan
2011-01-27 16:08   ` Philipp Hahn
2011-01-27 17:31   ` Kamala Narasimhan
2011-01-27 17:54     ` Stefano Stabellini
2011-01-27 18:35       ` Ian Jackson
2011-01-27 18:46         ` Ian Campbell
2011-01-27 18:46         ` Stefano Stabellini
2011-01-28  1:56       ` Kamala Narasimhan
2011-01-28 10:06         ` Ian Campbell
2011-01-28 10:25           ` Ian Campbell
2011-01-28 12:02             ` Ian Jackson
2011-01-28 13:19           ` Stefano Stabellini
2011-01-28 13:21             ` Ian Campbell
2011-01-28 13:28               ` Stefano Stabellini
2011-01-28 13:29                 ` Ian Campbell
2011-01-28 15:11                 ` Kamala Narasimhan
2011-01-28 14:43           ` Kamala Narasimhan
2011-01-28 17:22           ` Kamala Narasimhan
2011-01-28 19:10           ` Kamala Narasimhan [this message]
2011-01-31 17:28             ` Stefano Stabellini
2011-01-28 13:11         ` Stefano Stabellini
2011-01-28 17:55         ` Ian Jackson
2011-01-27 22:15   ` Kamala Narasimhan
2011-01-28 12:57     ` xl: drdb support Stefano Stabellini
2011-01-28 16:48       ` Shriram Rajagopalan
2011-01-28 17:58       ` Ian Jackson
2011-01-28 18:03         ` Stefano Stabellini
2011-01-28 18:06           ` Ian Jackson
2011-01-28 18:12             ` Stefano Stabellini
2011-01-28 18:16               ` Ian Jackson
2011-01-28 21:41           ` James Harper
2011-01-29  1:12       ` James Harper
2011-01-29 12:53         ` RE: drdb support / xend locking for live migration Pasi Kärkkäinen
2011-01-28 16:03     ` [PATCH] xl: Special case tap/aio for disk validation Jim Fehlig
2011-01-28 16:30       ` Stefano Stabellini
2011-01-28 16:52         ` Jim Fehlig
2011-01-28 17:51           ` Stefano Stabellini
2011-01-28 17:53       ` Ian Jackson
2011-01-27 22:31   ` M A Young

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D43149F.3030409@gmail.com \
    --to=kamala.narasimhan@gmail.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=kamala.narasimhan@citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.