On Thu, Jul 28, 2022 at 01:14:59PM +1000, Stephen Rothwell wrote: > Hi all, > > Today's linux-next merge of the device-mapper tree got a conflict in: > > drivers/md/dm.c > > between commit: > > 1be3479b8533 ("block: move ->bio_split to the gendisk") > > from the block tree and commit: > > 8b211aaccb91 ("dm: add two stage requeue mechanism") > > from the device-mapper 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. > > -- > Cheers, > Stephen Rothwell > > diff --cc drivers/md/dm.c > index b7458f2dd3e4,47bcc5081b2b..000000000000 > --- a/drivers/md/dm.c > +++ b/drivers/md/dm.c > @@@ -962,6 -1001,58 +1001,58 @@@ static void __dm_io_complete(struct dm_ > } > } > > + static void dm_wq_requeue_work(struct work_struct *work) > + { > + struct mapped_device *md = container_of(work, struct mapped_device, > + requeue_work); > + unsigned long flags; > + struct dm_io *io; > + > + /* reuse deferred lock to simplify dm_handle_requeue */ > + spin_lock_irqsave(&md->deferred_lock, flags); > + io = md->requeue_list; > + md->requeue_list = NULL; > + spin_unlock_irqrestore(&md->deferred_lock, flags); > + > + while (io) { > + struct dm_io *next = io->next; > + > - dm_io_rewind(io, &md->queue->bio_split); > ++ dm_io_rewind(io, &md->disk->bio_split); This fix looks fine. Thanks, Ming