mbox series

[v2,0/2] rust: add module to convert between -errno and io::Error

Message ID 20250213143216.3910163-1-pbonzini@redhat.com (mailing list archive)
Headers show
Series rust: add module to convert between -errno and io::Error | expand

Message

Paolo Bonzini Feb. 13, 2025, 2:32 p.m. UTC
Wrap access to errno, for use in the block layer and character device
bindings.

Supersedes: <20250212093958.3703269-1-pbonzini@redhat.com>

v1->v2:
- use the libc crate
- provide separate From<Errno> implementation for io::ErrorKind
- hide GetErrno trait inside a submodule
- add into_neg_errno() and corresponding tests
- add more doctests
- make Errno field public, so that Errno can have other From<...>
  implementations (e.g. going from *mut Error to Errno).


Paolo Bonzini (2):
  rust: subprojects: add libc crate
  rust: add module to convert between -errno and io::Error

 rust/Cargo.lock                               |   7 +
 rust/qemu-api/Cargo.toml                      |   1 +
 rust/qemu-api/meson.build                     |   4 +
 rust/qemu-api/src/assertions.rs               |  28 ++
 rust/qemu-api/src/errno.rs                    | 342 ++++++++++++++++++
 rust/qemu-api/src/lib.rs                      |   1 +
 rust/qemu-api/src/prelude.rs                  |   2 +
 scripts/archive-source.sh                     |   2 +-
 scripts/make-release                          |   2 +-
 subprojects/libc-0.2-rs.wrap                  |   7 +
 .../packagefiles/libc-0.2-rs/meson.build      |  36 ++
 11 files changed, 430 insertions(+), 2 deletions(-)
 create mode 100644 rust/qemu-api/src/errno.rs
 create mode 100644 subprojects/libc-0.2-rs.wrap
 create mode 100644 subprojects/packagefiles/libc-0.2-rs/meson.build