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

From: Stephen Rothwell <[email-masked]>
Date: Fri, 18 Jul 2025 18:56:42 +1000

Hi John,

On Fri, 18 Jul 2025 09:26:57 +0100 John Garry <[email-masked]> wrote:
>
> I think that this is the proper merge resolution:
> 
> static void stripe_io_hints(struct dm_target *ti,
>      struct queue_limits *limits)
> {
> 	struct stripe_c *sc = ti->private;
> 	unsigned int io_min, io_opt;
> 
> 	if (!check_shl_overflow(sc->chunk_size, SECTOR_SHIFT, &io_min) && !check_mul_overflow(io_min, sc->stripes, &io_opt)) {
> 		limits->io_min = io_min;
> 		limits->io_opt = io_opt;
> 	}
> 	limits->chunk_sectors = sc->chunk_size;
> }
> 
> 
> For purpose of atomic writes, we should always set chunk_sectors.

OK, I have changed my resolution to that starting from Monday.

> BTW, I tried to apply the conflicting patches from the block tree on -next from 17 July, and I was getting strange behaviour:
> 
> # vgcreate vg00 /dev/sda /dev/sdb /dev/sdc /dev/sdd
>   WARNING: Unknown logical_block_size for device /dev/sda.
>   WARNING: Unknown logical_block_size for device /dev/sdb.
>   WARNING: Unknown logical_block_size for device /dev/sdc.
>   WARNING: Unknown logical_block_size for device /dev/sdd.
>   Physical volume "/dev/sda" successfully created.
>   Physical volume "/dev/sdb" successfully created.
>   Physical volume "/dev/sdc" successfully created.
>   Physical volume "/dev/sdd" successfully created.
>   Volume group "vg00" successfully created
> #
> 
> I had no such problem on Jens' block for-6.17 tree.

I have no idea what caused that, sorry.

-- 
Cheers,
Stephen Rothwell