[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 |