Update blkif.h to include INDIRECT definitions

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Track BLKIF_OP_{READ/WRITE} on per request basis, not per SRB

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Read additional features/parameters (at appropriate state)

"feature-max-indirect-segments", "feature-persistent", "discard-secure"
"discard-alignment" and "discard-granularity"

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Track Lookaside list max allocs and failed allocs better

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Split XENVBD_SEGMENT into segment data and bounce buffer context data

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Split PrepareReadWrite into seperate calls for Segments and Requests

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Add XENVBD_REQUEST_INDIRECT

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Add missing Verbose parameter

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Insert INDIRECT operations onto ring

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Prepare, submit and cleanup BLKIF_OP_INDIRECT

When a read or write request would not fit into a single
BLKIF_OP_{READ/WRITE}, and the backend supports indirect
operations, prepare and submit a BLKIF_OP_INDIRECT and
handle the response.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Tidy up some Verbose and DEBUG output

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Merge pull request #13 from OwenSmith/indirect

Implement Indirect Operation