[dm-devel] [PATCH v4 6/7] dm: Directly disable max_allocate_sectors for now

Kirill Tkhai ktkhai at virtuozzo.com
Tue Jan 21 12:36:47 UTC 2020


On 21.01.2020 15:24, Mike Snitzer wrote:
> On Tue, Jan 21 2020 at  5:42am -0500,
> Kirill Tkhai <ktkhai at virtuozzo.com> wrote:
> 
>> Since dm inherits limits from underlining block devices,
>> this patch directly disables max_allocate_sectors for dm
>> till full allocation support is implemented.
>>
>> This prevents high-level primitives (generic_make_request_checks(),
>> __blkdev_issue_write_zeroes(), ...) from sending REQ_ALLOCATE
>> requests.
>>
>> Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
>> ---
>>  drivers/md/dm-table.c |    2 ++
>>  drivers/md/md.h       |    1 +
>>  2 files changed, 3 insertions(+)
> 
> You're mixing DM and MD changes in the same patch.
> 
> But I'm wondering if it might be best to set this default for stacking
> devices in blk_set_stacking_limits()?
> 
> And then it is up to each stacking driver to override as needed.

Hm. Sound like a good idea. This "lim->max_allocate_sectors = 0" in blk_set_stacking_limits()
should work for dm's dm_calculate_queue_limits(), since it calls blk_stack_limits(), which is:

	t->max_allocate_sectors = min(t->max_allocate_sectors,
				      b->max_allocate_sectors);

Could you please tell is this fix is also enough for md?

Kirill





More information about the dm-devel mailing list