Re: System hangs if NVMe/SSD is removed during suspend

From: Rafael J. Wysocki
Date: Fri Oct 04 2019 - 05:59:30 EST


On Friday, October 4, 2019 10:03:40 AM CEST Mika Westerberg wrote:
> On Thu, Oct 03, 2019 at 09:50:33AM -0700, Tejun Heo wrote:
> > Hello, Mika.
> >
> > On Wed, Oct 02, 2019 at 03:21:36PM +0300, Mika Westerberg wrote:
> > > but from that discussion I don't see more generic solution to be
> > > implemented.
> > >
> > > Any ideas we should fix this properly?
> >
> > Yeah, the only fix I can think of is not using freezable wq. It's
> > just not a good idea and not all that difficult to avoid using.
>
> OK, thanks.
>
> In that case I will just make a patch that removes WQ_FREEZABLE from
> bdi_wq and see what people think about it :)

I guess that depends on why WQ_FREEZABLE was added to it in the first place. :-)

The reason might be to avoid writes to persistent storage after creating an
image during hibernation, since wqs remain frozen throughout the entire
hibernation including the image saving phase.

Arguably, making the wq freezable is kind of a sledgehammer approach to that
particular issue, but in principle it may prevent data corruption from
occurring, so be careful there.