[PATCH] nvmet: Don't queue fatal error work if csts.cfs is set

Steve Wise swise at opengridcomputing.com
Fri Nov 4 07:25:59 PDT 2016


> >>  {
> >> -	ctrl->csts |= NVME_CSTS_CFS;
> >> +	if (test_and_set_bit(NVME_CSTS_CFS, (unsigned long *)&ctrl->csts))
> >> +		return;
> >> +
> >
> > This can't work - test_and_set_bit takes a bit index and NVME_CSTS_CFS
> > is the actual value.  I think we'll need a lock to protect ->csts
> > instead.
> 
> Oops... it still prevents from fatal_err work from requeueing
> so at least I got 50% :)
> 
> I'll send a proper patch with a lock in place...
> 

I wonder if this is causing my most recent target crashes during kato
reconnect/recovery testing?




More information about the Linux-nvme mailing list