Re: [PATCH V3 1/3] block: clear BLK_FEAT_PCI_P2PDMA in blk_stack_limits() for non-supporting devices
Nitesh Shetty <[email protected]>
| Newsgroups | gmane.linux.raid |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> >--- > 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. 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; }