Subject: Re: linux-next: manual merge of the tip tree with the block tree

From: Boqun Feng <[email-masked]>
Date: Mon, 15 Sep 2025 20:28:17 -0400

On Mon, Sep 15, 2025 at 11:25:52PM +0100, Mark Brown wrote:
> Hi all,

Hi Mark,

Thanks for reporting this. Your resolution looks good to me. Thanks!

Jens and Andreas, if you want to test this, please wait until the fix
[1] of tip/locking/core (top commit should be 17d9f8eaa87d "MAINTAINERS:
update atomic infrastructure entry to include Rust") to propagate to
tip/master (and then linux-next), otherwise you will get a compile error
because of missing a patch. Of course feel free to test with a manual
merge of tip/locking/core and block/for-next ;-)

[1]: https://lore.kernel.org/lkml/[email-masked]/

Regards,
Boqun

> Today's linux-next merge of the tip tree got a conflict in:
> 
>   rust/kernel/block/mq/operations.rs
> 
> between commit:
> 
>   90d952fac8ac1 ("rust: block: add `GenDisk` private data support")
> 
> from the block tree and commit:
> 
>   b6dd7b75496c5 ("rust: block: convert `block::mq` to use `Refcount`")
> 
> from the tip tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> diff --cc rust/kernel/block/mq/operations.rs
> index d098a8a3e4340,c0f95a9419c4e..0000000000000
> --- a/rust/kernel/block/mq/operations.rs
> +++ b/rust/kernel/block/mq/operations.rs
> @@@ -6,15 -6,15 +6,16 @@@
>   
>   use crate::{
>       bindings,
>  -    block::mq::request::RequestDataWrapper,
>  -    block::mq::Request,
>  +    block::mq::{request::RequestDataWrapper, Request},
>       error::{from_result, Result},
>       prelude::*,
> +     sync::Refcount,
>  -    types::ARef,
>  +    types::{ARef, ForeignOwnable},
>   };
> - use core::{marker::PhantomData, sync::atomic::AtomicU64, sync::atomic::Ordering};
> + use core::marker::PhantomData;
>   
>  +type ForeignBorrowed<'a, T> = <T as ForeignOwnable>::Borrowed<'a>;
>  +
>   /// Implement this trait to interface blk-mq as block devices.
>   ///
>   /// To implement a block device driver, implement this trait as described in the