Library
Module
Module type
Parameter
Class
Class type
The main FS interface.
module B : Mirage_block.S
type write_error = [
| error
| Mirage_fs.write_error
| `Directory_not_empty
| `Block_write of B.write_error
| `Exn of exn
]
include Mirage_fs.S
with type error := error
and type write_error := write_error
val pp_error : error Fmt.t
pp_error
is the pretty-printer for errors.
val pp_write_error : write_error Fmt.t
pp_write_error
is the pretty-printer for write errors.
Disconnect from the file system. While this might take some time to complete, it can never result in an error.
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 create : t -> string -> (unit, write_error) Stdlib.result Lwt.t
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) Stdlib.result Lwt.t
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) Stdlib.result Lwt.t
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) Stdlib.result Lwt.t
stat t path
returns information about file or directory at path
.
listdir t path
returns the names of files and subdirectories within the directory path
.
val write :
t ->
string ->
int ->
Cstruct.t ->
(unit, write_error) Stdlib.result Lwt.t
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) Stdlib.result Lwt.t