[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