]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rust: block: mq: align init_request numa_node arg with C signature
authorAndreas Hindborg <a.hindborg@kernel.org>
Wed, 27 May 2026 09:18:09 +0000 (11:18 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 27 May 2026 14:36:07 +0000 (08:36 -0600)
commit6b2f3e4970e48e70c10111366f59f908f2ea6f96
tree443815d3dbc03d1c3322bed8bbe0fe11b9bc62c6
parent17d7492a50251d913ae7101f898cf30ede856cde
rust: block: mq: align init_request numa_node arg with C signature

Commit b040a1a4523d ("block: switch numa_node to int in
blk_mq_hw_ctx and init_request") changed the type of the
`numa_node` argument of `blk_mq_ops::init_request` from
`unsigned int` to `int`. Update the Rust callback signature to
match, so that the function item can be coerced to the C fn
pointer type stored in `blk_mq_ops`.

Without this change the Rust block layer fails to build:

  error[E0308]: mismatched types
     --> rust/kernel/block/mq/operations.rs:274:28
      |
  274 |         init_request: Some(Self::init_request_callback),
      |                       ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^
      |                       expected fn pointer, found fn item
      |
      = note: expected fn pointer
                `unsafe extern "C" fn(_, _, _, i32) -> _`
                    found fn item
                `unsafe extern "C" fn(_, _, _, u32) -> _ {...}`

The argument is unused on the Rust side, so this is a pure
type-signature change with no functional impact.

Fixes: b040a1a4523d ("block: switch numa_node to int in blk_mq_hw_ctx and init_request")
Signed-off-by: Andreas Hindborg <a.hindborg@kernel.org>
Reviewed-by: Gary Guo <gary@garyguo.net>
Link: https://patch.msgid.link/20260527-block-for-next-2026-05-26-2200-failure-v1-1-4865889e282c@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
rust/kernel/block/mq/operations.rs