Library
Module
Module type
Parameter
Class
Class type
The main FS interface.
module B : Mirage_block_lwt.S
type write_error = [
| error
| Mirage_fs.write_error
| `Directory_not_empty
| `Block_write of B.write_error
| `Exn of exn
]
include Mirage_fs_lwt.S
with type error := error
and type write_error := write_error
val pp_write_error : write_error Fmt.t
pp_write_error
is the pretty-printer for write errors.
include Mirage_device.S with type 'a io = 'a Lwt.t
type 'a io = 'a Lwt.t
The type for potentially blocking I/O operation
type page_aligned_buffer = Cstruct.t
The type for memory buffers.
val read :
t ->
string ->
int ->
int ->
(page_aligned_buffer list, error) Pervasives.result io
read t key offset length
reads up to length
bytes from the value associated with key
. If less data is returned than requested, this indicates the end of the value.
val size : t -> string -> (int64, error) Pervasives.result io
Get the value size.
val create : t -> string -> (unit, write_error) Pervasives.result io
create t path
creates an empty file at path
. If path
contains directories that do not yet exist, create
will attempt to create them.
val mkdir : t -> string -> (unit, write_error) Pervasives.result io
mkdir t path
creates an empty directory at path
. If path
contains intermediate directories that do not yet exist, mkdir
will create them. If a directory already exists at path
, mkdir
returns `Ok ()
and takes no action.
val destroy : t -> string -> (unit, write_error) Pervasives.result io
destroy t path
removes a path
(which may be a file or an empty directory) on filesystem t
.
val stat : t -> string -> (Mirage_fs.stat, error) Pervasives.result io
stat t path
returns information about file or directory at path
.
val listdir : t -> string -> (string list, error) Pervasives.result io
listdir t path
returns the names of files and subdirectories within the directory path
.
val write :
t ->
string ->
int ->
page_aligned_buffer ->
(unit, write_error) Pervasives.result io
write t path offset data
writes data
at offset
in file path
on filesystem t
.
If path
contains directories that do not exist, write
will attempt to create them. If path
already exists, write
will overwrite existing information starting at off
.
val format : B.t -> int64 -> (t, write_error) Result.result Lwt.t