package mirage-block-unix
MirageOS disk block driver for Unix
Install
Dune Dependency
Authors
Maintainers
Sources
mirage-block-unix-2.14.2.tbz
sha256=e91780cddfa909de5c7265ce87a1a54b11e8e06b84829b712e16bada7f9d06c1
sha512=3f2c51f19a129e479e26313605ff05b4925228f1e124c7ba1a25170fc1661d53143d7c4802100c6460008007ccb39de44f3486284dcd523bd3f3f2ba04b05b65
doc/CHANGES.html
v2.14.2 (2022-09-15)
- Raise an exception on connect if the file is not aligned to the
sector_size
(#117, @reynir) - Demote log to debug when an error is returned (#119 @reynir, fixes #109)
- Remove io-page dependency (#118 @hannesm)
- Add GitHub actions for testing on macos and windows (retire Appveyor)
v2.14.1 (2022-06-15)
- Ensure compatibility with OCaml 5.0, after
uerror
change (ocaml/ocaml#10926) (#115, @dra27)
v2.14.0 (2022-04-07)
- OCaml 5.00 support (#112, @Sudha247)
- Remove io-page.unix dependency, require io-page >= 2.4.0 (#114 @hannesm)
v2.13.0 (2022-01-16)
- Add a configuration field for the size of sectors (#106, @Julow, @hannesm, @dinosaure)
- Update to cstruct.6.0.0 (#108, @MisterDA, @dinosaure)
- Depends on
io-page.unix
instead ofio-page-unix
(@dinosaure)
v2.12.1 (2020-07-19)
- Fix stress test in environments without
O_DIRECT
(#103 @kit-ty-kate)
v2.12.0 (2019-10-30)
- Adapt to mirage-block 2.0.0 interface changes (#99 @hannesm)
- Fix opam file (#84 @djs55)
- Fix testsuite bitrot (#99 @hannesm)
v2.11.2 (2019-05-11)
- Fix test use of io-page-unix to work with io-page>2.0.0 (@avsm)
- Remove unnecessary opam dependencies and refine
ppx_sexp_conv
one (@avsm)
v2.11.1 (2019-03-10)
- Fix some warnings in dev mode (#94 @emillon)
- Clarify documentation about behaviour of
discard
(#95 @g2p) - Use modern cstruct-lwt ocamlfind name (#96 @g2p)
v2.11.0 (2019-02-03)
- Port build to Dune from jbuilder (#93 @avsm)
- Update opam metadata to 2.0 format (#92 @avsm @jonludlam)
- Use dune-release instead of topkg (#93 @avsm)
- Ocamldoc fixes for odoc support (#93 @avsm)
- Fix build on older macOS (#90 @djs55)
v2.10.0 (2018-06-11)
- Add support for
discard
(also known as TRIM) - Add support for
resize
on Windows
v2.9.0 (2017-12-07)
- Add support for
flock
file locking
v2.8.4 (2017-11-25)
- opam: add lower bound on uri.1.9.0
- fix build with appveyor
- fix build with OCaml 4.06 (and -safe-string)
v2.8.3 (2017-07-05)
- Use latest
cstruct-lwt
linkage. - Minimum OCaml version now 4.03.0 in line with rest of MirageOS.
- Modernise jbuilder+topkg workflow.
v2.8.2 (2017-05-22)
- Link to
cstruct.lwt
correctly, fixing the 2.8.1 fix.
v2.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.
v2.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
v2.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
v2.6.0 (2017-02-13)
- allow fsync to be used in preference to fcntl for flushing on macOS
v2.5.0 (2017-01-17)
- use MirageOS 3 error scheme & new dependencies; drop support for earlier versions
v2.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
v2.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 updatingsize_sectors
- hold the mutex around bounds checks
- require cstruct >= 1.3.0
v2.2.0 (3-Mar-2016)
- Add basic Win32 support, tested via appveyor
- Use logs library
- Check buffers have proper lengths in
read
andwrite
v2.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
andBlock.seek_unmapped
v2.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
v1.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.
v1.2.1 (01-Feb-2014)
- Update to new io-page{,.unix} ocamlfind structure
v1.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)
v1.1.0 (16-Dec-2013)
- Expose the
blkgetsize
function in the external signature. - Regenerate build files with OASIS 0.4.0
v1.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
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
- v2.14.1 (2022-06-15)
- v2.14.0 (2022-04-07)
- v2.13.0 (2022-01-16)
- v2.12.1 (2020-07-19)
- v2.12.0 (2019-10-30)
- v2.11.2 (2019-05-11)
- v2.11.1 (2019-03-10)
- v2.11.0 (2019-02-03)
- v2.10.0 (2018-06-11)
- v2.9.0 (2017-12-07)
- v2.8.4 (2017-11-25)
- v2.8.3 (2017-07-05)
- v2.8.2 (2017-05-22)
- v2.8.1 (2017-05-19)
- v2.8.0 (2017-05-16)
- v2.7.0 (2017-02-19)
- v2.6.0 (2017-02-13)
- v2.5.0 (2017-01-17)
- v2.4.0 (21-Sept-2016)
- v2.3.0 (2-Aug-2016)
- v2.2.0 (3-Mar-2016)
- v2.1.0 (9-Nov-2015)
- v2.0.0 (27-Mar-2015):
- v1.2.2 (07-Mar-2015)
- v1.2.1 (01-Feb-2014)
- v1.2.0 (18-Dec-2013)
- v1.1.0 (16-Dec-2013)
- v1.0.0 (08-Dec-2013)