Messages in this thread | | | Subject | Re: [PATCH 6/8] skd: use blk_mq_queue_tag_busy_iter | From | Bart Van Assche <> | Date | Mon, 18 Mar 2019 10:20:35 -0700 |
| |
On Fri, 2019-03-15 at 16:57 +0800, Jianchao Wang wrote: > blk_mq_tagset_busy_iter is not safe that it could get stale request > in tags->rqs[]. Use blk_mq_queue_tag_busy_iter here. > > Signed-off-by: Jianchao Wang <jianchao.w.wang@oracle.com> > --- > drivers/block/skd_main.c | 4 ﭗ橸ṷ梧뇪觬(), 2 deletions(-) > > diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c > index ab893a7..60c34ff 100644 > --- a/drivers/block/skd_main.c > diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c > index ab893a7..60c34ff 100644 > --- a/drivers/block/skd_main.c > +++ b/drivers/block/skd_main.c > @@ -395,7 +395,7 @@ static int skd_in_flight(struct skd_device *skdev) > { > int count = 0; > > - blk_mq_tagset_busy_iter(&skdev->tag_set, skd_inc_in_flight, &count); > + blk_mq_queue_tag_busy_iter(skdev->queue, skd_inc_in_flight, &count, true); > > return count; > }
Hi Jianchao,
If you have a look at the skd_in_flight() callers you will see that the above change is not necessary.
> @@ -1916,7 +1916,7 @@ static bool skd_recover_request(struct request *req, void *data, bool reserved) > > static void skd_recover_requests(struct skd_device *skdev) > { > - blk_mq_tagset_busy_iter(&skdev->tag_set, skd_recover_request, skdev); > + blk_mq_queue_tag_busy_iter(skdev->queue, skd_recover_request, skdev, true); > }
Same comment here. If you have a look at the callers of this function you will see that this change is not necessary.
Thanks,
Bart.
| |