nvml-sys 0.0.6

A low-level FFI wrapper around the Persistent Memory Development Kit, PMDK (formerly NVML) and its libraries, including libpmem, libpmemobj and others. Currently tracks master after version 1.3.1.
Persistent Memory Development Kit

This is src/test/blk_recovery/README.

This directory contains a unit test for pmemblk recovery. It works only
in non-debug mode.

The program in blk_recovery.c takes a block size, file and two LBAs.
A write to the first LBA is performed, then the arena map data structure
protections are modified to be read-only, then the remaining LBA is written.

For example:

	./blk_recovery 4096 file1 5 10

this will call pmemblk_open() on file1, call pmemblk_write() for LBA 5
(causing all the layout to be written), then it will change the memory
protection on the arena map area to read-only.  Next, pmemblk_write()
is called for for LBA 10 and SIGSEGV is caught and reported.  Finally,
pmemblk_check() is called.

This is not a perfect simulation of a system interruption, but does allow
creating a file where a write was interrupted before updating the map.