[PATCH v3] nvme: revalidate paths during rescan

Daniel Wagner dwagner at suse.de
Tue Aug 24 06:48:30 PDT 2021


On Tue, Aug 24, 2021 at 03:44:58PM +0200, Daniel Wagner wrote:
> On Mon, Aug 23, 2021 at 10:16:23AM -0700, Sagi Grimberg wrote:
> > > +void nvme_mpath_revalidate_paths(struct nvme_ns *ns)
> > > +{
> > > +	struct nvme_ns_head *head = ns->head;
> > > +	sector_t capacity = get_capacity(head->disk);
> > > +	int node;
> > > +
> > > +	for_each_node(node)
> > > +		rcu_assign_pointer(head->current_path[node], NULL);
> > > +
> > > +	list_for_each_entry_rcu(ns, &head->list, siblings) {
> > > +		if (capacity != get_capacity(ns->disk))
> > > +			clear_bit(NVME_NS_READY, &ns->flags);
> > > +	}
> > 
> > Shouldn't the null setting to current_path come after
> > we clear NVME_NS_READY on the ns? Otherwise we may still
> > submit and current_path will be populated with the ns
> > again...
> 
> Ahh, I got it this time! Yes, you are right. I think Christoph has
> dropped this patch from the nvme-5.15 queue anyway. I'll resend a new
> version with the order changed.

I am blind. The patch is queued up in nvme-5.15.

@Christoph, do you want me to send fix on top of this patch or do you
want an updated version of this patch?



More information about the Linux-nvme mailing list