Re: [PATCH 1/6] nvme-mpath: No need to protect req->bio with requeue_lock
John Garry <[email protected]>
| Newsgroups | org.infradead.lists.linux-nvme |
|---|---|
| Organization | Oracle Corporation |
| Message-ID | <[email protected]> |
> --- > drivers/nvme/host/multipath.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c > index 9b9a657fa330..b5501217303c 100644 > --- a/drivers/nvme/host/multipath.c > +++ b/drivers/nvme/host/multipath.c > @@ -164,9 +164,10 @@ void nvme_failover_req(struct request *req) > queue_work(nvme_wq, &ns->ctrl->ana_work); > } > > - spin_lock_irqsave(&ns->head->requeue_lock, flags); > for (bio = req->bio; bio; bio = bio->bi_next) > bio_set_dev(bio, ns->head->disk->part0); > + > + spin_lock_irqsave(&ns->head->requeue_lock, flags); > blk_steal_bios(&ns->head->requeue_list, req); I think that the first half of blk_steal_bios() doesn't not require the lock either and does the same bio loop as for calling bio_set_dev(), above. Maybe another helper could be added for all of that. But this still looks ok, so: Reviewed-by: John Garry <[email protected]> > spin_unlock_irqrestore(&ns->head->requeue_lock, flags); > > -- > 2.43.0 > >