package mirage-block-unix

  1. Overview
  2. Docs
MirageOS disk block driver for Unix

Install

Dune Dependency

Authors

Maintainers

Sources

v2.8.2.tar.gz
md5=58dc51096e65da48ec87617be3110467

CHANGES.html

CHANGES

2.8.2 (2017-05-22)
* Link to `cstruct.lwt` correctly, fixing the 2.8.1 fix.

2.8.1 (2017-05-19)
* Link to `lwt.unix` correctly, regressed in jbuilder port (report by @dim)
* Remove duplicated entries from `opam` file.
* Modernise the Travis OS build matrix and test OCaml 4.04.0/1 as well.

2.8.0 (2017-05-16)
* switch to buffered I/O by default
* better support for unbuffered I/O for non-512 byte sectors
* for files which are not a whole number of sectors, pad with virtual zeroes
* switch to jbuilder
* add a Dockerfile

2.7.0 (2017-02-19)
* add a simple file copy benchmark
* add bindings for readv, writev
* cache the file offset and avoid unnecessary calls to lseek

2.6.0 (2017-02-13)
* allow fsync to be used in preference to fcntl for flushing on macOS

2.5.0 (2017-01-17)
* use MirageOS 3 error scheme & new dependencies; drop support for earlier versions

2.4.0 (21-Sept-2016)
* add optional arguments with safe defaults to `Block.connect`.
* add a new Block.Config.t containing configuration parameters,
  serialisation and deserialisation
* fix appveyor build by removing cygwin curl

2.3.0 (2-Aug-2016)
* use fcntl(F_FULLFSYNC) on OSX rather than plain fsync
* add linux-headers depext for alpine
* hold the mutex around `ftruncate` while updating `size_sectors`
* hold the mutex around bounds checks
* require cstruct >= 1.3.0

2.2.0 (3-Mar-2016)
* Add basic Win32 support, tested via appveyor
* Use logs library
* Check buffers have proper lengths in `read` and `write`

2.1.0 (9-Nov-2015)
* Add `Block.resize` to resize file-backed devices
* Unit tests now work on OSX
* opam file improvements
* fail on read/write attempts after last sector
* add `Block.flush` for when operating in buffered mode
* add support for sparseness via `Block.seek_mapped` and `Block.seek_unmapped`

2.0.0 (27-Mar-2015):
* Incompatible API change: Block.blkgetsize takes an extra argument (a file descriptor)
* Support NetBSD through DIOCGMEDIASIZE
* Support rumprun by avoiding re-opening files, instead we use file descriptors internally

1.2.2 (07-Mar-2015)
* Expose an explicit `connect` function in the interface signature. (#20)
* Modernise Travis scripts with centralised ones.
* Add local `opam` file for OPAM 1.2 workflow.

1.2.1 (01-Feb-2014)
* Update to new io-page{,.unix} ocamlfind structure

1.2.0 (18-Dec-2013)
* Fix a serious race condition exposed when multiple threads access
  the same block device
* Block.connect: open in buffered mode if the filename has prefix "buffered:".
  The default is still to use unbuffered (like mirage-block-xen)

1.1.0 (16-Dec-2013)
* Expose the `blkgetsize` function in the external signature.
* Regenerate build files with OASIS 0.4.0

1.0.0 (08-Dec-2013)
* depend on mirage-types-0.4.0+
* catch low-level I/O errors and return an `Error
* Reformat with `ocp-indent` to deal with the outrageously large monitors that Citrix use.

0.1.1 (2-Dec-2013)
* add missing file

0.1.0 (1-Dec-2013)
* import first version of block driver from ocaml-fat