[lkml]   [2007]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subjectpossible solution for problem 2 (was Re: [RFC][PATCH -mm] PM: Do not sync filesystems from within the freezer)

> > > > To get more serious and practical though, I think the solution is to
> > > > fuzz the userspace/kernelspace distinction. What we really want to
> > > > do is freeze things that submit I/O, then sync, then freeze anything
> > > > that processes I/O and needs to be frozen. In effect, redefine fuse
> > > > processes as freezeable kernel threads.
> > >
> > > Another myth, that has been debunked already. The problem is: how do
> > > you define fuse processes? There's no theoretical or even practial
> > > way to do that.
> >
> > No theoretical or practical way?! I'll freely admit to being quite ignorant
> > about fuse, but surely there's some way by which they can be distinguished.
> How? OK, there are some tasks, that read and/or write /dev/fuse. And
> there are some that just communicate in some way with the above.

(Not that I'm advocating this, but:)

You could ask fused to identify tasks involved in fuse handling. "Hey,
fused, please give me list of PIDs".

Yes, that would be beyond ugly.

(I guess I'm advocating this:)

We probably can do variation on this. Notify fuse early that suspend
is comming, so we can wait for all the fused requests to be flushed
(/fusectl/*/waiting going to 0), and then just trap tasks trying to
communicate with fuse in a sane place (i.e. not a place where VFS
locks are held).

...I'm not saying this is a nice solution, but it should
work... right...? And should work for hibernation, too...?

(at this point, we still have problem 1: something in s2ram path
causes fuse to communicate with its frozen fused. It is not sync, so
what is it?)
(cesky, pictures)
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2007-07-07 13:59    [W:0.060 / U:33.060 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site