package mirage-block-combinators
Block signatures and implementations for MirageOS using Lwt
Install
Dune Dependency
Authors
Maintainers
Sources
mirage-block-v2.0.1.tbz
sha256=8cd1386e7a6ca2c9c3bf04102ed66bd72e3a40ead31abc9716317dd563e5e8f2
sha512=b894f9d7a2269521ce82e17371abc60fc0de76d7c93477e48c2f95baaa2f3d936eedd8e7aee8473252f77352a3ba0ef430ab0ae806a2d22ff75381349029b4c6
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 (4)
-
fat-filesystem
>= "0.14.0"
- mirage-block-partition
-
mirage-block-ramdisk
>= "0.5"
-
qcow
>= "0.11.0"
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page