All of lore.kernel.org
 help / color / mirror / Atom feed
From: Keir Fraser <keir@xensource.com>
To: Jan Beulich <jbeulich@novell.com>, Gerd Hoffmann <kraxel@suse.de>
Cc: Xen devel list <xen-devel@lists.xensource.com>
Subject: Re: Re: [patch/rfc] multiprotocol blkback drivers (32-on-64)
Date: Mon, 18 Dec 2006 17:58:34 +0000	[thread overview]
Message-ID: <C1AC874A.6458%keir@xensource.com> (raw)
In-Reply-To: <4586D974.76E4.0078.0@novell.com>

Gerd's description is along the lines of what I would implement myself. How
does your bi-modal approach work?

 -- Keir

On 18/12/06 17:09, "Jan Beulich" <jbeulich@novell.com> wrote:

> I understand you favor this over the bi-modal approach I took? Any specific
> advantages? Jan
> 
>>>> Gerd Hoffmann <kraxel@suse.de> 18.12.06 17:39 >>>
> Hi,
> 
> This is a patch for the block interface, frontend drivers, backend
> drivers and tools to support multiple ring protocols.  Right there are
> now just two: the 32bit and the 64bit one.  If needed it can be extended.
> 
> Interface changes (io/blkif.h)
>  * Have both request structs there, with "v1" and "v2" added to the
>    name.  The old name is aliased to the native protocol of the
>    architecture.
>  * Add helper functions to convert v1/v2 requests to native.
> 
> Frontend changes:
>  * Create a new node "protocol", add the protocol number it speaks
>    there.
> 
> Backend changes:
>  * Look at the "protocol" number of the frontend and switch ring
>    handling accordingly.  If the protocol node isn't present it assumes
>    native protocol.
>  * As the request struct is copied anyway before being processed (for
>    security reasons) it is converted to native at that point so most
>    backend code doesn't need to know what the frontend speaks.
>  * In case of blktap this is completely transparent to userspace, the
>    kernel/userspace ring is always native no matter what the frontend
>    speaks.
> 
> Tools changes:
>  * Add one more option to the disk configuration, so one can specify the
>    protocol the frontend speaks in the config file.  This is needed for
>    old frontends which don't advertise the protocol they are speaking
>    themself.
>    I'm not that happy with this approach, but it works for now and I'm
>    kida lost in the stack of python classes doing domain and device
>    handling ...
> 
> Consider the code experimental, not all frontend/backend combinations
> are tested.
> 
> Comments?  Questions?  Suggesions?
> 
> cheers,
>   Gerd
> 
> PS: Anyone working on blkback/blktap code sharing?  While walking
>     through the code I've noticed quite alot of it is cut&paste ...

  reply	other threads:[~2006-12-18 17:58 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-18 16:39 [patch/rfc] multiprotocol blkback drivers (32-on-64) Gerd Hoffmann
2006-12-18 17:09 ` Jan Beulich
2006-12-18 17:58   ` Keir Fraser [this message]
2006-12-19  7:37     ` Jan Beulich
2006-12-19  8:20   ` Gerd Hoffmann
2006-12-19  7:55 ` Jan Beulich
2006-12-19  8:35   ` Gerd Hoffmann
2006-12-19 13:32   ` Gerd Hoffmann
2006-12-19 14:20     ` Keir Fraser
2006-12-20 15:12       ` Gerd Hoffmann
2006-12-20 15:47         ` Jan Beulich
2006-12-20 16:07           ` Keir Fraser

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=C1AC874A.6458%keir@xensource.com \
    --to=keir@xensource.com \
    --cc=jbeulich@novell.com \
    --cc=kraxel@suse.de \
    --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.