Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Nbd_unix.Client
SourceA client allows you to access remote disks
A 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 Nbd.Protocol.Error.t ]
and type write_error =
[ Mirage_block.write_error | `Protocol_error of Nbd.Protocol.Error.t ]
The type for block errors.
type nonrec write_error = [
| Mirage_block.write_error
| `Protocol_error of Nbd.Protocol.Error.t
]
The type for write errors.
pp_write_error
is the pretty-printer for write errors.
The type representing the internal state of the block device
Disconnect from the device. While this might take some time to complete, it can never result in an error.
Query 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.
write 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.
The size of a remote disk
list 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 :
Nbd.Channel.channel ->
string ->
(t * size * Nbd.Protocol.PerExportFlag.t list) Lwt.t
negotiate channel export
takes an already-connected channel, performs the initial protocol negotiation and connects to the named export. Returns disk * remote disk size * flags