Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
S.CLIENTSourceA Client allows you to list the disks available on a server, connect to a specific disk and then issue read and write requests.
include Mirage_block.S
with type error =
[ Mirage_block.error | `Protocol_error of Protocol.Error.t ]
and type write_error =
[ Mirage_block.write_error | `Protocol_error of Protocol.Error.t ]The type for block errors.
The type for write errors.
val pp_write_error : write_error Fmt.tpp_write_error is the pretty-printer for write errors.
Disconnect from the device. While this might take some time to complete, it can never result in an error.
val get_info : t -> Mirage_block.info Lwt.tQuery the characteristics of a specific block device
read device sector_start buffers reads data starting at sector_start from the block device into buffers. Ok () means the buffers have been filled. Error _ indicates an I/O error has happened and some of the buffers may not be filled. Each of elements in the list buffers must be a whole number of sectors in length. The list of buffers can be of any length. Some implementations may further require that each element in buffers is exactly sector_size long.
val write : t -> int64 -> Cstruct.t list -> (unit, write_error) result Lwt.twrite device sector_start buffers writes data from buffers onto the block device starting at sector_start. Ok () means the contents of the buffers have been written. Error _ indicates a partial failure in which some of the writes may not have happened.
Once submitted, it is not possible to cancel a request and there is no timeout.
The operation may fail with: `Is_read_only: the device is read-only, no data has been written.
Each of buffers must be a whole number of sectors in length. The list of buffers can be of any length. Some implementations may further require that each element in buffers is exactly sector_size long.
The data will not be copied, so the supplied buffers must not be re-used until the IO operation completes.
val list :
Channel.channel ->
(string list, [ `Policy | `Unsupported ]) result Lwt.tlist channel returns a list of exports known by the server. `Error `Policy means the server has this function disabled deliberately. `Error `Unsupported means the server is old and does not support the query function.
val negotiate :
Channel.channel ->
string ->
(t * size * Protocol.PerExportFlag.t list) Lwt.tnegotiate channel export takes an already-connected channel, performs the initial protocol negotiation and connects to the named export. Returns disk * remote disk size * flags