package mirage-block-lwt
Block signatures and implementations for MirageOS using Lwt
Install
Dune Dependency
Authors
Maintainers
Sources
mirage-block-v1.2.0.tbz
sha256=3373c4305e77e499446860ba81e1ee3c2c47fa2e1645c2c900b54c859f7a2558
md5=429022b9e477e8cd99b5906f073c59f4
Description
This repo contains generic operations over Mirage BLOCK
devices.
This package is specialised to the Lwt concurrency library for IO.
README
Block implementations for mirage
This repo contains generic operations over Mirage BLOCK
devices.
Please consult the API documentation.
Example usage
In a top-level like utop:
# #require "io-page.unix";;
# #require "mirage-block";;
# #require "mirage-block-ramdisk";;
# #require "lwt.syntax";;
# lwt t_or_error = Ramdisk.create ~name:"hello" ~size_sectors:1024L ~sector_size:512;;
val t_or_error : [ `Error of Ramdisk.error | `Ok of Ramdisk.t ] = `Ok <abstr>
# let t = Mirage_block.Error.ok_exn t_or_error;;
val t : Ramdisk.t = <abstr>
# let page = Io_page.(to_cstruct (get 1));;
val page : Ramdisk.page_aligned_buffer =
{Cstruct.buffer = <abstr>; off = 0; len = 4096}
# lwt result_or_error = Ramdisk.read t 0L [ page ];;
val result_or_error : [ `Error of Ramdisk.error | `Ok of unit ] = `Ok ()
# lwt ok_or_error = Mirage_block.sparse_copy (module Ramdisk) t (module Ramdisk) t;;
val ok_or_error :
[ `Error of [> `Different_sizes | `Is_read_only | `Msg of bytes ]
| `Ok of unit ] = `Ok ()
Dependencies (7)
Dev Dependencies
None
Used by (10)
-
fat-filesystem
>= "0.12.0" & < "0.14.0"
-
mirage-block-ramdisk
>= "0.3" & < "0.5"
-
mirage-block-solo5
>= "0.2.1" & < "0.6.1"
-
mirage-block-unix
>= "2.5.0" & < "2.12.0"
-
mirage-block-xen
>= "1.5.0" & < "1.7.0"
-
mirage-types-lwt
>= "3.0.0" & < "3.7.1"
-
nbd
>= "3.0.0" & < "6.0.0"
-
qcow
>= "0.8.1" & < "0.11.0"
-
qcow-tool
< "0.11.0"
-
tar-mirage
= "1.1.0"
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page