Package: wnpp Severity: wishlist Owner: "Simon A. F. Lund" <o...@safl.dk> X-Debbugs-Cc: debian-de...@lists.debian.org, o...@safl.dk
* Package name : xnvme Version : 0.7.0 Upstream Author : Simon A. F. Lund <o...@safl.dk> * URL : https://xnvme.io/ * License : BSD Programming Lang: C Description : Cross-platform libraries and tools for efficient I/O and low-level control. xNVMe provides a library to program storage devices efficiently from user space and tools to interact with them. xNVMe is strongly motivated by the emergence of storage devices providing I/O commands beyond those of read/write. This is the "NVMe" part of the name. The data plane or I/O layer is a minimal-cost abstraction on top of sync-io with thread pools, POSIX aio, Linux libaio, io_uring, io_uring_cmd, to name the most popular interfaces available via xNVMe on Linux. A control plane or Admin layer provides flexibility and low-level control via APIs for admin commands and device management. On Linux, these are implemented using interfaces such as ioctl(), io_uring_cmd, and vfio-pci. This is one key value point of xNVMe, providing a unified I/O and Admin API interface for storage devices on top of the myriad of interfaces available on todays operating systems. On top of these are command-line utilities, including "zoned" and "kvs". These provide NVMe-command-set interaction available at the fingertips of the command-line. The command-line utilities are related to those of nvme-cli. In this area we are actively working on combining the efforts on the command-line interface. On the library-side, then xNVMe is related to the before-mentioned I/O libraries, which it encapsulates. However, it goes beyond serving an abstraction on top, such that applications implemented using xNVMe can run on platforms other than Linux. Afaik. Then xNVMe is the only library providing a cross-platform storage programming interface. Supporting "traditional" storage and optimized for NVMe. This is the "x" part of the name for "cross" platform. I plan to maintain the package as part of the release process of xNVMe itself, thus making it an integral part of the CI to build, test, and verify the package in "lockstep" with the development of xNVMe. I am seeking help/guidance, possibly from a sponsor / co-maintainer.