Re: todays git regression (2.6.32-04008.g3ff6a46): lot of device mapper warnings
From: Mike Snitzer
Date: Wed Dec 09 2009 - 19:56:58 EST
On Wed, Dec 9, 2009 at 5:07 PM, Jens Axboe <jens.axboe@xxxxxxxxxx> wrote:
> On Wed, Dec 09 2009, Jens Axboe wrote:
>> On Wed, Dec 09 2009, Heinz Diehl wrote:
>> > On 09.12.2009, Christian Borntraeger wrote:
>> >
>> > > with todays git I got a huge amount of warnings for device mapper:
>> > > device-mapper: uevent: version 1.0.3
>> > > device-mapper: ioctl: 4.15.0-ioctl (2009-04-01) initialised: dm-devel@xxxxxxxxxx
>> > > device-mapper: table: 252:0: target device dasdf1 is misaligned: physical_block_size=4096, logical_block_size=4096, alignment_offset=0, start=196608
>> > [...]
>> >
>> > > The same devices produce no warning with a 2.6.32 vanilla kernel.
>> >
>> > I have exactly the same here...
>>
>> Can either one of you try and bisect it? I've cc'ed Martin, it's likely
>> one of the io stacking patches that causes this.
>
> Does this work?
>
> diff --git a/block/blk-settings.c b/block/blk-settings.c
> index dd1f1e0..0116d29 100644
> --- a/block/blk-settings.c
> +++ b/block/blk-settings.c
> @@ -554,11 +554,13 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
> ret = -1;
> }
>
> +#if 0
> if (offset &&
> (offset & (b->discard_granularity - 1)) != b->discard_alignment) {
> t->discard_misaligned = 1;
> ret = -1;
> }
> +#endif
>
> /* If top has no alignment offset, inherit from bottom */
> if (!t->alignment_offset)
Jens,
It should be noted that Christian (original poster but cc's got
dropped) is using striped LVs.
Striped LVs use blk_limits_io_opt() via drivers/md/dm-stripe.c:stripe_io_hints()
Martin's change for discard alignment (commit: 86b37281) also splits
out the least common multiple code, that was exclusively used for
io_opt, to a new lcm() function in block/blk-settings.c
On the surface I thought this might be the reason for the warnings,
but Martin's lcm() looks perfectly fine; can't see why it would cause
these warnings to appear all of a sudden... but I figured I'd share.
It'll be interesting to see if the discard_granularity block you
#ifdef'd out helps either Christian or Heinz.
Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/