Re: [PATCH] libata, freezer: avoid block device removal while system is frozen

Rafael J. Wysocki
2013-12-18T21:51:23Z

On Wednesday, December 18, 2013 04:41:28 PM Tejun Heo wrote:
> On Wed, Dec 18, 2013 at 04:39:36PM -0500, Tejun Heo wrote:
> > Yeah, we can just rip out the whole freezer support and let the
> > caller's pm notification hooks implement it by doing
> >
> > workqueue_set_max_active(wq, 0);
> > flush_workqueue(wq);
>
> Oops, the above doesn't work but I can trivially add a new interface
> for this. Something which waits for the max_active to drop below the
> newly set level before returning.
>
> workqueue_set_max_active_and_wait(wq, 0);

If you add that, I can convert the PM workqueue to using it and then
we can go through all of the existing users and make similar changes - or
just make them non-freezable if there's no good reason for freezing those
particular ones.

Thanks,
Rafael