https://bugzilla.novell.com/show_bug.cgi?id=758379
https://bugzilla.novell.com/show_bug.cgi?id=758379#c3
Jeff Mahoney changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jeffm@suse.com
Component|Kernel |GNOME
AssignedTo|kernel-maintainers@forge.pr |bnc-team-gnome@forge.provo.
|ovo.novell.com |novell.com
Severity|Normal |Major
--- Comment #3 from Jeff Mahoney 2012-04-30 12:05:16 EDT ---
I've seen this reported across multiple distros.
This can happen when the network is taken down while there are still
outstanding NFS requests.
IIRC the ifup method doesn't take the network down over suspend so it doesn't
run into this problem.
Unfortunately, there's a race here. Local file systems are quiesced by freezing
all of the processes. When the processes are frozen, they can't issue any more
system calls, and as such the file system has no new activity. File systems
with threads that do background operations see if they need to freeze and will
do so after the queued operations have been completed. This part works great.
We run into problems with the network file systems since, presumably, NM shuts
down the network before it calls suspend. It must, since it won't be able to
run afterwards in order to continue the operation. If the file system isn't
undergoing any activity, then there won't be a problem. If the file system has
even basic activity, like the statfs() call you see in your log, then the RPCs
are going to wait for the network which will never return.
I'm not sure what the best way to handle this is. The easiest is probably
"don't shut down the network if network file systems are in use," but that
breaks with the way NM does things. Another way would be have some sort of
delayed operation -- but even that is difficult when all the file systems have
been frozen.
Anyway, bouncing to the NM guys but I'll stay in CC.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.