|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 4/5] vscsiif.h: add some notes about xenstore layout
On Wed, 2015-05-06 at 13:28 +0000, Olaf Hering wrote:
> Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
I'm not sure how much of this really belongs in an ABI document, but I
don't think there's really anywhere else so
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Keir Fraser <keir@xxxxxxx>
> Cc: Tim Deegan <tim@xxxxxxx>
> ---
> xen/include/public/io/vscsiif.h | 68
> +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 68 insertions(+)
>
> diff --git a/xen/include/public/io/vscsiif.h b/xen/include/public/io/vscsiif.h
> index e8e38a9..2c5f04a 100644
> --- a/xen/include/public/io/vscsiif.h
> +++ b/xen/include/public/io/vscsiif.h
> @@ -104,6 +104,74 @@
> * response structures.
> */
>
> +/*
> + * Xenstore format in practice
> + * ===========================
> + *
> + * The backend driver uses a single_host:many_devices notation to manage domU
> + * devices. Everything is stored in
> /local/domain/<backend_domid>/backend/vscsi/.
> + * The xenstore layout looks like this (dom0 is assumed to be the
> backend_domid):
> + *
> + * <domid>/<vhost>/feature-host = "0"
> + * <domid>/<vhost>/frontend = "/local/domain/<domid>/device/vscsi/0"
> + * <domid>/<vhost>/frontend-id = "<domid>"
> + * <domid>/<vhost>/online = "1"
> + * <domid>/<vhost>/state = "4"
> + * <domid>/<vhost>/vscsi-devs/dev-0/p-dev = "8:0:2:1" or "naa.wwn:lun"
> + * <domid>/<vhost>/vscsi-devs/dev-0/state = "4"
> + * <domid>/<vhost>/vscsi-devs/dev-0/v-dev = "0:0:0:0"
> + * <domid>/<vhost>/vscsi-devs/dev-1/p-dev = "8:0:2:2"
> + * <domid>/<vhost>/vscsi-devs/dev-1/state = "4"
> + * <domid>/<vhost>/vscsi-devs/dev-1/v-dev = "0:0:1:0"
> + *
> + * The frontend driver maintains its state in
> + * /local/domain/<domid>/device/vscsi/.
> + *
> + * <vhost>/backend = "/local/domain/0/backend/vscsi/<domid>/<vhost>"
> + * <vhost>/backend-id = "0"
> + * <vhost>/event-channel = "20"
> + * <vhost>/ring-ref = "43"
> + * <vhost>/state = "4"
> + * <vhost>/vscsi-devs/dev-0/state = "4"
> + * <vhost>/vscsi-devs/dev-1/state = "4"
> + *
> + * In addition to the entries for backend and frontend these flags are stored
> + * for the toolstack:
> + *
> + * <domid>/<vhost>/vscsi-devs/dev-1/p-devname = "/dev/$device"
> + *
> + *
> + * Backend/frontend protocol
> + * =========================
> + *
> + * To create a vhost along with a device:
> + * <domid>/<vhost>/feature-host = "0"
> + * <domid>/<vhost>/frontend = "/local/domain/<domid>/device/vscsi/0"
> + * <domid>/<vhost>/frontend-id = "<domid>"
> + * <domid>/<vhost>/online = "1"
> + * <domid>/<vhost>/state = "1"
> + * <domid>/<vhost>/vscsi-devs/dev-0/p-dev = "8:0:2:1"
> + * <domid>/<vhost>/vscsi-devs/dev-0/state = "1"
> + * <domid>/<vhost>/vscsi-devs/dev-0/v-dev = "0:0:0:0"
> + * Wait for <domid>/<vhost>/state + <domid>/<vhost>/vscsi-devs/dev-0/state
> become 4
> + *
> + * To add another device to a vhost:
> + * <domid>/<vhost>/state = "7"
> + * <domid>/<vhost>/vscsi-devs/dev-1/p-dev = "8:0:2:2"
> + * <domid>/<vhost>/vscsi-devs/dev-1/state = "1"
> + * <domid>/<vhost>/vscsi-devs/dev-1/v-dev = "0:0:1:0"
> + * Wait for <domid>/<vhost>/state + <domid>/<vhost>/vscsi-devs/dev-1/state
> become 4
> + *
> + * To remove a device from a vhost:
> + * <domid>/<vhost>/state = "7"
> + * <domid>/<vhost>/vscsi-devs/dev-1/state = "5"
> + * Wait for <domid>/<vhost>/state to become 4
> + * Wait for <domid>/<vhost>/vscsi-devs/dev-1/state become 6
> + * Remove <domid>/<vhost>/vscsi-devs/dev-1/{state,p-dev,v-dev,p-devname}
> + * Remove <domid>/<vhost>/vscsi-devs/dev-1/
> + *
> + */
> +
> /* Requests from the frontend to the backend */
>
> /*
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |