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

[Xen-devel] [PATCH 0 of 5] blkif.h: Document protocol and existing extensions

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.


 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(-)

Xen-devel mailing list



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