From: "Justin T. Gibbs" <justing@spectralogic.com>
To: xen-devel@lists.xensource.com
Cc: Keir Fraser <keir@xen.org>
Subject: [PATCH 0 of 5] blkif.h: Document protocol and existing extensions
Date: Thu, 02 Feb 2012 22:24:18 -0700 [thread overview]
Message-ID: <patchbomb.1328246658@ns1.eng.sldomain.com> (raw)
This patch series attempts to document the blkif PV interface and
the various extensions to it that are out in the wild. I assembled
this information by reviewing xend, various versions of the Linux
blkif drivers, fixing bugs in the FreeBSD blkfront driver, and
writing and testing a blkback driver for FreeBSD.
Even with this experience, given this interface was previously only
documented in source code, I'm sure there are mistakes or ommissions
in what I've done here. Corrections welcome.
All but the last patch in the series is source compatible with
existing drivers. This final patch adds FreeBSD's extension to
allow an I/O to span multiple ring entries. The number of outstanding
requests, and the max I/O size and number of segments per request,
can all be negotiated. Drivers offering this extension are backwards
compatible with existing drivers, but the definition of
BLKIF_MAX_SEGMENTS_PER_REQUEST has been changed to reflect the new
limit of 255. A global replacement of BLKIF_MAX_SEGMENTS_PER_REQUEST
with BLKIF_MAX_SEGMENTS_PER_HEADER_BLOCK is all that's required to
adjust drivers without the extension to this header change.
--
Justin
xen/include/public/io/blkif.h | 9 +-
xen/include/public/io/blkif.h | 305 ++++++++++++++++++++++++++++++++++-------
xen/include/public/io/blkif.h | 22 +++
xen/include/public/io/blkif.h | 101 +++++++++++-
xen/include/public/io/blkif.h | 106 ++++++++++++++-
5 files changed, 466 insertions(+), 77 deletions(-)
next reply other threads:[~2012-02-03 5:24 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-03 5:24 Justin T. Gibbs [this message]
2012-02-03 5:24 ` [PATCH 1 of 5] blkif.h: Miscelaneous style fixes Justin T. Gibbs
2012-02-09 9:30 ` Ian Campbell
2012-02-03 5:24 ` [PATCH 2 of 5] blkif.h: Provide more complete documentation of the blkif interface Justin T. Gibbs
2012-02-07 17:51 ` Ian Jackson
2012-02-08 23:24 ` Justin T. Gibbs
2012-02-09 9:36 ` Ian Campbell
2012-02-09 15:19 ` Ian Jackson
2012-02-03 5:24 ` [PATCH 3 of 5] blkif.h: Add definitions for virtual block device major numbers Justin T. Gibbs
2012-02-03 13:31 ` Jan Beulich
2012-02-03 15:49 ` Justin Gibbs
2012-02-09 9:46 ` Ian Campbell
2012-02-09 10:05 ` Paul Durrant
2012-02-09 16:41 ` Justin T. Gibbs
2012-02-07 17:33 ` Ian Jackson
2012-02-08 23:12 ` Justin T. Gibbs
2012-02-09 15:17 ` Ian Jackson
2012-02-09 16:40 ` Justin T. Gibbs
2012-02-09 16:52 ` Ian Jackson
2012-02-09 17:02 ` Ian Campbell
2012-02-03 5:24 ` [PATCH 4 of 5] blkif.h: Document the RedHat and Citrix blkif multi-page ring extensions Justin T. Gibbs
2012-02-03 13:33 ` Jan Beulich
2012-02-03 14:58 ` Justin Gibbs
2012-02-03 15:01 ` Jan Beulich
2012-02-03 15:19 ` Justin Gibbs
2012-02-03 16:12 ` Jan Beulich
2012-02-08 22:00 ` Justin T. Gibbs
2012-02-09 9:15 ` Jan Beulich
2012-02-09 14:56 ` Justin T. Gibbs
2012-02-09 9:48 ` Ian Campbell
2012-02-09 10:36 ` Jan Beulich
2012-02-09 10:40 ` Ian Campbell
2012-02-09 15:12 ` Justin T. Gibbs
2012-02-13 12:35 ` Ian Campbell
2012-02-14 13:56 ` Konrad Rzeszutek Wilk
2012-02-15 6:51 ` Justin T. Gibbs
2012-02-15 13:07 ` Justin T. Gibbs
2012-02-15 13:32 ` Ian Campbell
2012-02-03 5:24 ` [PATCH 5 of 5] blkif.h: Define and document the request number/size/segments extension Justin T. Gibbs
2012-02-03 13:34 ` Jan Beulich
2012-02-07 21:45 ` Justin Gibbs
2012-02-07 13:49 ` Keir Fraser
2012-02-08 7:48 ` Jan Beulich
2012-02-08 6:00 ` Keir Fraser
2012-02-08 16:20 ` Jan Beulich
2012-02-09 6:22 ` Justin T. Gibbs
2012-02-09 9:25 ` Jan Beulich
2012-02-09 12:44 ` Keir Fraser
2012-02-09 14:45 ` Justin T. Gibbs
2012-02-09 12:32 ` Keir Fraser
2012-02-08 7:49 ` Jan Beulich
2012-02-03 9:52 ` [PATCH 0 of 5] blkif.h: Document protocol and existing extensions Jan Beulich
2012-02-09 9:29 ` Ian Campbell
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=patchbomb.1328246658@ns1.eng.sldomain.com \
--to=justing@spectralogic.com \
--cc=keir@xen.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).