linux-next: build failure after merge of the block tree

From: Mark Brown

Date: Wed May 27 2026 - 10:21:57 EST


Hi all,

After merging the block tree, today's linux-next build (arm64 kunit)
failed like this:

ERROR:root:error[E0308]: mismatched types
--> /tmp/next/build/rust/kernel/block/mq/operations.rs:274:28
|
274 | init_request: Some(Self::init_request_callback),
| ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected fn
| pointer, found fn item | arguments to this
| enum variant are incorrect
|
= note: expected fn pointer `unsafe extern "C" fn(_, _, _, i32) -> _`
found fn item `unsafe extern "C" fn(_, _, _, u32) -> _ {OperationsVTable::<T>::init_request_callback}`
help: the type constructed contains `unsafe extern "C"
fn(*mut blk_mq_tag_set, *mut bindings::request, u32, u32) -> i32
{OperationsVTable::<T>::init_request_callback}` due to the type of the
argument passed
--> /tmp/next/build/rust/kernel/block/mq/operations.rs:274:23
|
274 | init_request: Some(Self::init_request_callback),
| ^^^^^---------------------------^
| | this argument influences the type of
| `Some`
note: tuple variant defined here
--> /usr/lib/rustlib/src/rust/library/core/src/option.rs:580:5
|
580 | Some(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^^^

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0308`.

We build with --kconfig_add CONFIG_KASAN=y --kconfig_add CONFIG_RUST=y
(and would also do an allmodconfig which picks up CONFIG_RUST=y in any
case since there's a usable rustc installed).

Caused by commit

b040a1a4523d9 (block: switch numa_node to int in blk_mq_hw_ctx and init_request)

possibly interacting with some rust change but I'm not sure. I have
used the tree from next-20260526 instead.

Attachment: signature.asc
Description: PGP signature