v0.0.20 / release-v2020.09.04
Release Notes: v0.0.20 / release-v2020.09.04
In the release assets you will find:
- xnvme-v0.0.20.src.tar.gz - Full source archive, no third-party dependencies or submodules!
- xnvme-v0.0.20.bin.tar.gz - Binary archive for Debian 10 / Ubuntu 18
- xnvme-v0.0.20*.deb - Binary Debian packages for installation on Debian 10 / Ubuntu 18
- test-results.zip - CIJOE test-results, logs, and reports
Known Issues
-
Fabrics
- Errors are observed when constructing payloads with an mdts exceeding
16 * 1024 bytes. Thus a work-around is applied bounding the derived
mdts_nbytes
associated with the device geometry.
- Errors are observed when constructing payloads with an mdts exceeding
-
Binaries
- xNVMe does not build with
-march=native
, however, SPDK/DPDK does. Thus,
when the xNVMe library "bundles" SPDK/DPDK and the binaries are linked,
then they can contain ISA-specific instructions.
If you invoke e.g.xnvme enum
and see the messageIllegal Instruction
, then this is why.
- xNVMe does not build with
-
be::spdk
- Does not build on Alpine Linux
- Re-initialization fails, e.g. repeatedly calling
xnvme_enumerate()
-
be::lioc
- Does not support command-option
XNVME_CMD_ASYNC
- Does not support command-option
-
be::liou
andbe::laio
- Simple-Copy-Command via the Kernel path is not available as support has not
been merged with upstream - Append via the Kernel path is not available as support has not been merged
with upstream
- Simple-Copy-Command via the Kernel path is not available as support has not
v0.0.20
-
Third-party libraries
- Updated to fio/v3.22
- Made fio available to the third-party SPDK build
- Added build of SPDK fio io-engine
- Fixed missing update of third-party version-strings
-
The xNVMe fio io-engine
- Several fixes to locking/serialization and error-handling
- Adjusted to changes in upstream ZBD support
- Changed the zoned fio-example to not be timebased, since it could lead to
the verify-job never getting to the verify-part when running on emulated
devices - Increased
ramp_time
in comparison-script - Fixed memory issue due to missing
get_file_size
-
Backends
- Added a backend
nwrp
the NULL-Async-IO backend, purpose of which is to
troubleshoot and benchmark the async-io path
- Added a backend
-
General
- A bunch of fixes including bad format-strings, out-of-bound / array
overflows, non-atomic locks, improper error-path handling
- A bunch of fixes including bad format-strings, out-of-bound / array
-
CI
- Added workflow generating docker-image with latest source, providing
everything needed to build xNVMe and latest qemu to deploy and experiment
with xNVMe on emulated NVMe devices - Added workflow doing Coverity scan and uploading results for analysis
- Added
fio
binary and SPDK fio io-engines as artifacts. During testing,
fio is needed, however, the test-environment might not have the same
version available as the io-engines are built against, usually xNVMe is
built against the latest release which might not have made it into the
package repos.
- Added workflow generating docker-image with latest source, providing