# libblkio **Repository Path**: qioixiy/libblkio ## Basic Information - **Project Name**: libblkio - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-06 - **Last Updated**: 2025-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ======== libblkio ======== ------------------------ Block device I/O library ------------------------ libblkio is a library for high-performance block device I/O with support for multi-queue devices. A C API is provided so that applications can use the library from most programming languages. Applications are increasingly integrating high-performance I/O interfaces such as Linux io_uring, userspace device drivers, and vhost-user device support. The effort required to add each of these low-level interfaces into an application is relatively high. libblkio provides a single API for efficiently accessing block devices and eliminates the need to write custom code for each one. The libblkio C API is stable and the Rust API is unstable. Available drivers include Linux io_uring, virtio-blk (vdpa-blk, vhost-user-blk, and VFIO PCI), and Linux NVMe uring_cmd passthrough. This library is licensed under either the MIT or Apache 2.0 license at your option. If you distribute libblkio, please check the licenses of the crates it depends on using `cargo license` as they may use different licenses. Documentation ------------- API documentation is `here `_. Examples -------- Example programs are located in the `examples/ `_ directory and demonstrate how to use the API. Installation ------------ The following steps install the library on the local system:: # dnf install -qy meson rust cargo python3-docutils rustfmt # Fedora/CentOS/RHEL # apt-get install -qy meson rustc cargo python3-docutils # Debian/Ubuntu # meson setup build # meson compile -C build # meson install -C build Development ----------- Configure a debug build (unoptimized and with debug info) using:: $ meson setup build --buildtype=debug Or compile and test locally (also with a debug build) using:: $ ./containerized-build.sh This script requires `podman `_ and `buildah `_. It should be possible to use Docker with minimal changes, but the script currently does not support it. The run-test-suites-in-vm.sh script runs the test suites inside a virtual machine configured with hardware necessary for the various libblkio drivers. This can be used for testing without real hardware. Continuous Integration ---------------------- All merge requests must pass the CI system. `GitLab CI `_ is used for continuous integration. See `.gitlab-ci.yml` for details of the jobs. If you fork the repository on GitLab then the CI will run on your personal branches too. Contact ------- For questions and discussion, join the `Matrix chat room at #libblkio:matrix.org `_. Please report bugs and request features on the `issue tracker `_.