Re: [PATCH 4/6] nvme-mpath: support controller crd when failing over request

Sagi Grimberg <[email protected]>
Newsgroups org.infradead.lists.linux-nvme
Message-ID <[email protected]>
> > +	/* no CRD or timer allocation failed, fallback to immediate failover */
> > +	if (!fot) {
> > +		spin_lock_irqsave(&ns->head->requeue_lock, flags);
> > +		blk_steal_bios(&ns->head->requeue_list, req);
> > +		spin_unlock_irqrestore(&ns->head->requeue_lock, flags);
> > +		kblockd_schedule_work(&ns->head->requeue_work);
> > +	}
> 
> Yikes. Allocation during failover is not going to make you friends.

Well, it is a fairly rare event, and the fallback is exactly what we
do today...

> 
> And this whole mechanism looks pretty similar what we did over at
> implementing CCR. Can you use the mechanism from there?

How is this similar? It is effectively creating a container for
bio_list and timer to requeue them when the timer expires...
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.