Re: [PATCH V3 1/3] block: clear BLK_FEAT_PCI_P2PDMA in blk_stack_limits() for non-supporting devices

Chaitanya Kulkarni
2026-04-21T22:30:13Z

On 4/17/26 03:11, Nitesh Shetty wrote:
> On 16/04/26 02:26PM, Chaitanya Kulkarni wrote:
>> BLK_FEAT_NOWAIT and BLK_FEAT_POLL are cleared in blk_stack_limits()
>> when an underlying device does not support them.  Apply the same
>> treatment to BLK_FEAT_PCI_P2PDMA: stacking drivers set it
>> unconditionally and rely on the core to clear it whenever a
>> non-supporting member device is stacked.
>>
>> Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com>
>> ---
>> block/blk-settings.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/block/blk-settings.c b/block/blk-settings.c
>> index 78c83817b9d3..8274631290db 100644
>> --- a/block/blk-settings.c
>> +++ b/block/blk-settings.c
>> @@ -795,6 +795,8 @@ int blk_stack_limits(struct queue_limits *t,
>> struct queue_limits *b,
>>         t->features &= ~BLK_FEAT_NOWAIT;
>>     if (!(b->features & BLK_FEAT_POLL))
>>         t->features &= ~BLK_FEAT_POLL;
>> +    if (!(b->features & BLK_FEAT_PCI_P2PDMA))
>> +        t->features &= ~BLK_FEAT_PCI_P2PDMA;
>>
>>     t->flags |= (b->flags & BLK_FLAG_MISALIGNED);
> I think you need below patch[1] as well to unset this here.
> Also I feel better to include Mike,Mikulas and dm-devel mailing list
> as well.
>

get_maintainers.pl didn't list Mike/Mikulas and dm-devel.

> Thanks,
> Nitesh
>
> [1]
> diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
> index dc2eff6b739d..0442c1f4c686 100644
> --- a/drivers/md/dm-table.c
> +++ b/drivers/md/dm-table.c
> @@ -590,7 +590,8 @@ int dm_split_args(int *argc, char ***argvp, char
> *input)
>  static void dm_set_stacking_limits(struct queue_limits *limits)
>  {
>      blk_set_stacking_limits(limits);
> -    limits->features |= BLK_FEAT_IO_STAT | BLK_FEAT_NOWAIT |
> BLK_FEAT_POLL;
> +    limits->features |= BLK_FEAT_IO_STAT | BLK_FEAT_NOWAIT |
> BLK_FEAT_POLL \
> +    BLK_FEAT_PCI_P2PDMA;
>  }
>
DM P2PDMA support needs a separate DM patch series with explicit target
capability plumbing and enablement only for vetted targets.
Enabling it blindly for all the targets may not be accepted.

This series is limited to md RAID0/1/10 and native NVMe multipath.

I’ll send an incremental DM series separately and will CC the DM
maintainers and dm-devel, thanks for looking into it.

-ck