[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <170fa0d20912091656s31575d0cneaf899e1781bdc16@mail.gmail.com>
Date: Wed, 9 Dec 2009 19:56:46 -0500
From: Mike Snitzer <snitzer@...il.com>
To: Jens Axboe <jens.axboe@...cle.com>
Cc: Heinz Diehl <htd@...cy-poultry.org>, linux-kernel@...r.kernel.org,
martin.petersen@...cle.com,
Christian Borntraeger <borntraeger@...ibm.com>,
dm-devel@...hat.com
Subject: Re: todays git regression (2.6.32-04008.g3ff6a46): lot of device
mapper warnings
On Wed, Dec 9, 2009 at 5:07 PM, Jens Axboe <jens.axboe@...cle.com> 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@...hat.com
>> > > 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists