Skip to content

v0.0.20 / release-v2020.09.04

Compare
Choose a tag to compare
@safl safl released this 03 Sep 13:05

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.
  • 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 message Illegal Instruction, then this is why.
  • 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
  • be::liou and be::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

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
  • General

    • A bunch of fixes including bad format-strings, out-of-bound / array
      overflows, non-atomic locks, improper error-path handling
  • 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.