Re: [PATCH v2] block: do not artificially constrain max_sectors forstacking drivers

From: Mike Snitzer
Date: Mon Jul 09 2012 - 18:57:35 EST


On Mon, Jul 09 2012 at 10:57am -0400,
Mike Snitzer <snitzer@xxxxxxxxxx> wrote:

> blk_set_stacking_limits() is intended to allow stacking drivers to build
> up the limits of the stacked device based on the underlying devices'
> limits. But in the case of 'max_sectors' the default of
> BLK_DEF_MAX_SECTORS (1024) doesn't allow the stacking driver to inherit
> a max_sectors larger than 1024.
>
> It is now clear that this artificial limit is getting in the way so
> change blk_set_stacking_limits's max_sectors to UINT_MAX (which allows
> stacking drivers like dm-multipath to inherit 'max_sectors' from the
> underlying paths).
>
> blk_limits_max_hw_sectors() must allow stacking drivers to not have
> max_sectors set to BLK_DEF_MAX_SECTORS as a side-effect. Move that
> historic constraint to blk_queue_max_hw_sectors().
>
> Reported-by: Vijay Chauhan <vijay.chauhan@xxxxxxxxxx>
> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
> Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
> ---
> block/blk-settings.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> v2: tweak blk_limits_max_hw_sectors and blk_queue_max_hw_sectors

As it happens, v2's changes to blk_limits_max_hw_sectors and
blk_queue_max_hw_sectors are not strictly required in order for existing
stacking drivers to have have an unconstrained max_sectors. Dropping
those changes also allows for consistency across both block functions.

So I'd be happy if v1 were to be staged for 3.6. NetApp: it would be
great if you could confirm that v1 does in fact address the max_sectors
issue you reported.

Thanks,
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/