Hi all,
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
"Mark Brown" <broonie@kernel.org> writes: > Hi all, > > 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 Looks good to me, thanks! Best regards, Andreas Hindborg
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/aMirlpnVNLqvwdCu@tardis-2.local/ 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
© 2016 - 2025 Red Hat, Inc.