[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250711-rnull-up-v6-16-v3-0-3a262b4e2921@kernel.org>
Date: Fri, 11 Jul 2025 13:43:01 +0200
From: Andreas Hindborg <a.hindborg@...nel.org>
To: Boqun Feng <boqun.feng@...il.com>, Miguel Ojeda <ojeda@...nel.org>,
Alex Gaynor <alex.gaynor@...il.com>, Gary Guo <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Benno Lossin <lossin@...nel.org>, Alice Ryhl <aliceryhl@...gle.com>,
Trevor Gross <tmgross@...ch.edu>, Danilo Krummrich <dakr@...nel.org>,
Jens Axboe <axboe@...nel.dk>
Cc: linux-block@...r.kernel.org, rust-for-linux@...r.kernel.org,
linux-kernel@...r.kernel.org, Andreas Hindborg <a.hindborg@...nel.org>
Subject: [PATCH v3 00/16] rnull: add configfs, remote completion to rnull
This series adds configuration via configfs and remote completion to
the rnull driver. The series also includes a set of changes to the
rust block device driver API: a few cleanup patches, and a few features
supporting the rnull changes.
The series removes the raw buffer formatting logic from `kernel::block`
and improves the logic available in `kernel::string` to support the same
use as the removed logic.
This series is a smaller subset of the patches available in the
downstream rnull tree. I hope to minimize the delta between upstream
and downstream over the next few kernel releases.
Signed-off-by: Andreas Hindborg <a.hindborg@...nel.org>
---
Changes in v3:
- Rename `NullBorrowFormatter` as `NullTerminatedFormatter`.
- Remove `pos` from `NullBorrowFormatter`.
- Call into `Self::new` in `NullBorrowFormatter::from_array`.
- Use `Option` return type in `NullBorrowFormatter::from_array`
- Use `Option` return type in `NullBorrowFormatter::new`.
- Remove `BorrowFormatter` and update `Formatter` with a generic lifetime.
- Split visibility change of `str::Formatter` into separate patch.
- Link to v2: https://lore.kernel.org/r/20250708-rnull-up-v6-16-v2-0-ab93c0ff429b@kernel.org
Changes in v2:
- Rework formatter logic. Add two new formatters that write to slices,
one of which adds a trailing null byte.
- Reorder and split patches so that changes are more clear.
- Fix a typo in soft-irq patch summary.
- Link to v1: https://lore.kernel.org/r/20250616-rnull-up-v6-16-v1-0-a4168b8e76b2@kernel.org
---
Andreas Hindborg (16):
rust: str: normalize imports in `str.rs`
rust: str: allow `str::Formatter` to format into `&mut [u8]`.
rust: str: expose `str::Formatter::new` publicly.
rust: str: make `RawFormatter::bytes_written` public.
rust: str: introduce `NullTerminatedFormatter`
rust: block: normalize imports for `gen_disk.rs`
rust: block: use `NullTerminatedFormatter`
rust: block: remove `RawWriter`
rust: block: remove trait bound from `mq::Request` definition
rust: block: add block related constants
rnull: move driver to separate directory
rnull: enable configuration via `configfs`
rust: block: add `GenDisk` private data support
rust: block: mq: fix spelling in a safety comment
rust: block: add remote completion to `Request`
rnull: add soft-irq completion support
MAINTAINERS | 2 +-
drivers/block/Kconfig | 10 +-
drivers/block/Makefile | 4 +-
drivers/block/rnull.rs | 80 -----------
drivers/block/rnull/Kconfig | 13 ++
drivers/block/rnull/Makefile | 3 +
drivers/block/rnull/configfs.rs | 277 +++++++++++++++++++++++++++++++++++++
drivers/block/rnull/rnull.rs | 105 ++++++++++++++
rust/kernel/block.rs | 12 ++
rust/kernel/block/mq.rs | 14 +-
rust/kernel/block/mq/gen_disk.rs | 53 +++++--
rust/kernel/block/mq/operations.rs | 65 +++++++--
rust/kernel/block/mq/raw_writer.rs | 55 --------
rust/kernel/block/mq/request.rs | 21 ++-
rust/kernel/str.rs | 78 +++++++++--
15 files changed, 603 insertions(+), 189 deletions(-)
---
base-commit: e04c78d86a9699d136910cfc0bdcf01087e3267e
change-id: 20250616-rnull-up-v6-16-b4571e28feee
Best regards,
--
Andreas Hindborg <a.hindborg@...nel.org>
Powered by blists - more mailing lists