[linux-pm] Freezer: Don't count threads waiting for frozen filesystems.

Pavel Machek pavel at ucw.cz
Tue Oct 28 10:49:54 PDT 2008


Hi!

> While working on freezing fuse filesystems, I found that if a filesystem
> is frozen when we try to freeze processes, freezing can fail because
> threads are waiting in vfs_check_frozen for the filesystem to be thawed.
> We should thus not count such threads.
> 
> The check will be safe if a filesystem is thawed while we're freezing
> processes because filesystem thaws are only invoked from userspace. Any
> waiting processes will be woken and frozen prior to us completing the
> freezing of userspace (the caller invoking the filesystem thaw will be
> freezing) or - in the worst case - together with kernel threads.

In the worst case we have a problem.

Userspace and kernel threads *need* to be frozen separately...

(Otherwise its a race, and if you freeze kjournald first, user process
becomes unfreezeable and freezing fails.)
									Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


More information about the linux-pm mailing list