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