Re: linux-next: manual merge of the device-mapper tree with the block tree

From: Ming Lei
Date: Wed Jul 27 2022 - 23:23:33 EST


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