[dm-devel] [PATCH v2] dm: Fix alignment stacking on partitioned devices
Mike Snitzer
snitzer at redhat.com
Wed Jan 6 13:25:08 UTC 2010
On Wed, Jan 06 2010 at 3:39am -0500,
Martin K. Petersen <martin.petersen at oracle.com> wrote:
> >>>>> "Mike" == Mike Snitzer <snitzer at redhat.com> writes:
>
> Mike> BTW, the other related concern Alasdair had was that DM shouldn't
> Mike> need to know to add the start of the partition to the 'offset' it
> Mike> passes to blk_stack_limits() -- sees it as a layering violation.
>
> Mike> I went over the fact that the 'struct queue_limits' was added to
> Mike> abstract out the limit stacking in a way that DM could use too.
> Mike> Without passing asymmetric types for the 'top' and 'bottom' device
> Mike> to blk_stack_limits(), e.g.:
>
> I don't particularly care about the symmetry. The current set of
> arguments were first and foremost there to meet DM's needs. I don't
> think you had access to the bdev at the right time when we originally
> came up with this.
I think we always had it for the bottom device but not the top..
> However, there are other subsystems that need to stack without an
> associated block_device. So instead of changing blk_stack_limits I
> propose we use the wrapper below.
Yes, looks like osdblk.c's use of blk_queue_stack_limits()
> You'll notice that bdev_stack_limits takes a sector offset as argument.
> I have a patch that I intend to push at a later date that will convert
> the remaining stacking functions to take soft sector offsets instead of
> bytes. I deal with the appropriate conversion in the alignment
> calculation. That way we avoid the blk_off_t goo entirely and it makes
> the difference between absolute offsets and alignment offsets crystal
> clear.
Looks good. But you're missing the EXPORT_SYMBOL(bdev_stack_limits)
> Alasdair, if you are OK with the approach below I propose you give an
> Acked-by: and then we can feed the patch through Jens instead of dealing
> with a clunky two-stage merge this late in the .33 game.
Good point, you can have mine while we're at it.
> block: bdev_stack_limits wrapper
>
> DM does not want to know about partition offsets. Add a partition-aware
> wrapper that DM can use when stacking block devices.
>
> Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
Acked-by: Mike Snitzer <snitzer at redhat.com>
More information about the dm-devel
mailing list