[PATCH 2/2] nvme: don't freeze/unfreeze queues from different contexts

Sagi Grimberg sagi at grimberg.me
Tue Jun 13 06:26:27 PDT 2023


> > > diff --git a/drivers/nvme/host/rdma.c b/drivers/nvme/host/rdma.c
> > > index 0eb79696fb73..354cce8853c1 100644
> > > --- a/drivers/nvme/host/rdma.c
> > > +++ b/drivers/nvme/host/rdma.c
> > > @@ -918,6 +918,7 @@ static int nvme_rdma_configure_io_queues(struct nvme_rdma_ctrl *ctrl, bool new)
> > >   		goto out_cleanup_tagset;
> > >   	if (!new) {
> > > +		nvme_start_freeze(&ctrl->ctrl);
> > >   		nvme_unquiesce_io_queues(&ctrl->ctrl);
> > >   		if (!nvme_wait_freeze_timeout(&ctrl->ctrl, NVME_IO_TIMEOUT)) {
> > >   			/*
> > > @@ -926,6 +927,7 @@ static int nvme_rdma_configure_io_queues(struct nvme_rdma_ctrl *ctrl, bool new)
> > >   			 * to be safe.
> > >   			 */
> > >   			ret = -ENODEV;
> > > +			nvme_unfreeze(&ctrl->ctrl);
> > 
> > What does this unfreeze designed to do?
> 
> It is for undoing the previous nvme_start_freeze.

ok.



More information about the Linux-nvme mailing list