[dm-devel] Re: dm: add topology support

Mike Snitzer snitzer at redhat.com
Fri Jun 5 14:21:12 UTC 2009


On Fri, Jun 05 2009 at 12:33am -0400,
Martin K. Petersen <martin.petersen at oracle.com> wrote:

> >>>>> "Mike" == Mike Snitzer <snitzer at redhat.com> writes:
> 
> Mike,
> 
> +	if (blk_stack_limits(&ti->limits, &q->limits, 0) < 0)
> +		DMWARN("%s: target device %s is misaligned",
> +		       dm_device_name(ti->table->md), bdevname(bdev, b));
> 
> I did some testing tonight.  You're always passing offset 0 into the
> stacking function so things are not working right.  This argument should
> contain the offset to the first (data) sector.  So you want something
> like get_start_sect(bdev) << 9 for the stacking to do its magic.

I followed your lead :)
 http://mkp.net/code/topology/dm-topology.patch

But, yes I became concerned about this just last night myself when I
added yet another call to blk_stack_limits().

I need to continue looking at this problem; particularly as it relates
to the LVM2 userspace's role in seeding the DM layer appropriately.

My initial thinking was that if LVM2 understood how to consume the
alignment_offset when constructing an LV then the alignment_offset
information becomes unnecessary to propagate.  Thinking being that
alignment_offset was already accounted for in LVM2 by adjusting each
target devices' 'start' within the DM table (associated with the LV).

So I'm not yet seeing why alignment_offset _should_ matter as you stack
within DM (because of LVM2's role in accounting for it) but...

I'll work through this further; I welcome any ideas/feedback you might
have.

Thanks,
Mike




More information about the dm-devel mailing list