[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