Merge pull request #15 from djs55/fixes

Remove 'OS' module, depend on 'io-page' (no -unix or -xen)
Merge pull request #16 from djs55/fixes

blkback needs Activations, from xenctrl.lwt
Depend on ocamlfind xen-grant, xen-event rather than xenctrl

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
blkback: functorise over Activations

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Regenerate OASIS

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
blkfront: assume running in mirage-xen for now

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #17 from djs55/disaggregate

Update to new xen-event, xen-grant packages
Bump to 1.1.0 working version and sync CHANGES
Merge pull request #18 from avsm/master

Bump to 1.1.0 working version and sync CHANGES
Activations: use only the high-level ("after") interface

The low-level ("wait") interface can potentially lose events.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #19 from djs55/activations-after

Activations: use only the high-level ("after") interface
sync CHANGES
Depend on xen-{evtchn,gnt}

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #20 from djs55/xen-evtchn-gnt

Depend on xen-{evtchn,gnt}
Remove the module S, it was polluting the namespace

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #21 from djs55/remove-s

Remove the module S, it was polluting the namespace
blkfront: add heuristics to 'connect' which understand Linux devices like 'xvda'

From the user's point of view the common case is:
* user writes an xl/xm config file which adds a disk with virtual
  device "xvda"
* [connect "xvda"] will connect to this block device
  (as will [connect "51712"] and [connect "/dev/xvda"])

connect will interpret the id as follows (first match wins)
1. id is a xenstore "bus slot number" (e.g. conventionally Linux
   major/minor numbers encoded as a single integer like 51712,
   but which can be any integer)
2. id is a "Linux device string" (with or without "/dev/" prefix)
   translated into a "bus slot number"

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
connect: check if 'id' uniquely matches a backend 'params' key

From the user's point of view they can now write:
* target=/dev/loop0 in the xl/xm config file
* [connect "/dev/loop0"] will match this block device.

Normally we shouldn't rely on knowing about the backend's internal
structure (it could be a special driver domain), but for simple
cases (such as when developing locally on a laptop) it's convenient
to use the dom0 file or device name.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
blkback: avoid splitting requests into individual pages

We want to pass big requests down the stack, to reduce the impact
of per-request overheads (context-switching, enqueueing, dequeueing)

The backend implementation signature is now more like V1_LWT.BLOCK:
read and write take an offset and a list of buffers. Every request
is transformed into one of these, one buffer per segment. Hence
(for now, without indirect descriptors) each request has maximum
size 44KiB.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #22 from djs55/connect-heuristics

blkfront: add heuristics to 'connect' which understand Linux devices lik...