[dm-devel] [PATCH v2] block: do not artificially constrain max_sectors for stacking drivers
Mike Snitzer
snitzer at redhat.com
Mon Jul 9 22:57:25 UTC 2012
On Mon, Jul 09 2012 at 10:57am -0400,
Mike Snitzer <snitzer at redhat.com> 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 at netapp.com>
> Signed-off-by: Mike Snitzer <snitzer at redhat.com>
> Cc: Martin K. Petersen <martin.petersen at oracle.com>
> ---
> 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
More information about the dm-devel
mailing list