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

From: Stephen Rothwell <[email-masked]>
Date: Fri, 26 Apr 2024 16:01:15 +1000

Hi all,

On Thu, 18 Apr 2024 14:55:54 +1000 Stephen Rothwell <[email-masked]> wrote:
>
> Today's linux-next merge of the scsi-mkp tree got conflicts in:
> 
>   block/blk-settings.c
>   include/linux/blkdev.h
> 
> between commit:
> 
>   e4eb37cc0f3e ("block: Remove elevator required features")
> 
> from the block tree and commit:
> 
>   ec84ca4025c0 ("scsi: block: Remove now unused queue limits helpers")
> 
> from the scsi-mkp 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 block/blk-settings.c
> index 8e1d7ed52fef,292aadf8d807..000000000000
> --- a/block/blk-settings.c
> +++ b/block/blk-settings.c
> @@@ -1048,28 -822,22 +825,6 @@@ void blk_queue_write_cache(struct reque
>   }
>   EXPORT_SYMBOL_GPL(blk_queue_write_cache);
>   
> --/**
> -  * blk_queue_can_use_dma_map_merging - configure queue for merging segments.
> -  * @q:		the request queue for the device
> -  * @dev:	the device pointer for dma
>  - * blk_queue_required_elevator_features - Set a queue required elevator features
>  - * @q:		the request queue for the target device
>  - * @features:	Required elevator features OR'ed together
> -- *
> -  * Tell the block layer about merging the segments by dma map of @q.
>  - * Tell the block layer that for the device controlled through @q, only the
>  - * only elevators that can be used are those that implement at least the set of
>  - * features specified by @features.
> -- */
> - bool blk_queue_can_use_dma_map_merging(struct request_queue *q,
> - 				       struct device *dev)
>  -void blk_queue_required_elevator_features(struct request_queue *q,
>  -					  unsigned int features)
> --{
> - 	unsigned long boundary = dma_get_merge_boundary(dev);
> - 
> - 	if (!boundary)
> - 		return false;
> - 
> - 	/* No need to update max_segment_size. see blk_queue_virt_boundary() */
> - 	blk_queue_virt_boundary(q, boundary);
> - 
> - 	return true;
>  -	q->required_elevator_features = features;
> --}
> - EXPORT_SYMBOL_GPL(blk_queue_can_use_dma_map_merging);
>  -EXPORT_SYMBOL_GPL(blk_queue_required_elevator_features);
> --
>   /**
>    * disk_set_zoned - inidicate a zoned device
>    * @disk:	gendisk to configure
> diff --cc include/linux/blkdev.h
> index 2c535af79529,e3c7082efa39..000000000000
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@@ -924,9 -942,15 +926,6 @@@ disk_alloc_independent_access_ranges(st
>   void disk_set_independent_access_ranges(struct gendisk *disk,
>   				struct blk_independent_access_ranges *iars);
>   
> - extern bool blk_queue_can_use_dma_map_merging(struct request_queue *q,
> - 					      struct device *dev);
>  -/*
>  - * Elevator features for blk_queue_required_elevator_features:
>  - */
>  -/* Supports zoned block devices sequential write constraint */
>  -#define ELEVATOR_F_ZBD_SEQ_WRITE	(1U << 0)
>  -
>  -extern void blk_queue_required_elevator_features(struct request_queue *q,
>  -						 unsigned int features);
> --
>   bool __must_check blk_get_queue(struct request_queue *);
>   extern void blk_put_queue(struct request_queue *);
>   

This is now a conflict between the scsi tree and the block tree.

-- 
Cheers,
Stephen Rothwell