|
|
Subscribe / Log in / New account

Rust device mapper abstractions

From:  Qingsong Chen <changxian.cqs-AT-antgroup.com>
To:  linux-kernel-AT-vger.kernel.org
Subject:  [RFC PATCH 0/8] Rust device mapper abstractions
Date:  Sun, 25 Jun 2023 20:16:49 +0800
Message-ID:  <20230625121657.3631109-1-changxian.cqs@antgroup.com>
Cc:  "田洪亮" <tate.thl-AT-antgroup.com>, "Qingsong Chen" <changxian.cqs-AT-antgroup.com>, "Miguel Ojeda" <ojeda-AT-kernel.org>, "Alex Gaynor" <alex.gaynor-AT-gmail.com>, "Wedson Almeida Filho" <wedsonaf-AT-gmail.com>, "Boqun Feng" <boqun.feng-AT-gmail.com>, "Gary Guo" <gary-AT-garyguo.net>, "Björn Roy Baron" <bjorn3_gh-AT-protonmail.com>, "Benno Lossin" <benno.lossin-AT-proton.me>, <rust-for-linux-AT-vger.kernel.org>
Archive-link:  Article

Hello!

This is a version of device mapper abstractions. Based on
these, we also implement a linear target as a PoC.
Any suggestions are welcomed, thanks!

Additionally, there are some dummy codes used to wrap the block
layer structs, i.e., `bio` and `request`, which seems being
in the review process, so I just place it in the same file.

Qingsong Chen (8):
  rust: kernel: add basic abstractions for device-mapper
  rust: kernel: add request related TargetOperations
  rust: kernel: add some hook TargetOperations
  rust: kernel: add some info handler TargetOperations
  rust: kernel: add underlying device related TargetOperations
  rust: kernel: add DAX related TargetOperations
  rust: kernel: prepare to implement dm target in Rust
  samples: rust: add a device mapper linear target

 rust/bindings/bindings_helper.h |    2 +
 rust/helpers.c                  |    7 +
 rust/kernel/device_mapper.rs    | 1279 +++++++++++++++++++++++++++++++
 rust/kernel/lib.rs              |    1 +
 samples/rust/Kconfig            |   10 +
 samples/rust/Makefile           |    1 +
 samples/rust/rust_dm_linear.rs  |  257 +++++++
 7 files changed, 1557 insertions(+)
 create mode 100644 rust/kernel/device_mapper.rs
 create mode 100644 samples/rust/rust_dm_linear.rs

-- 
2.40.1



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds