Re: Does nautilus hang if an NFS server is unreachable?



On Sun, 2003-02-23 at 18:36, Havoc Pennington wrote:
> On Sun, Feb 23, 2003 at 12:40:49PM -0500, Peter O'Shea wrote: 
> > Is nautilus waiting for this server to become available?  Isn't there a
> > timeout specified somewhere?
> 
> The timeout is normally in the kernel. Design bug in NFS; if you touch
> an NFS filesystem that's hung, then your app hangs, and there is no
> way to avoid it. (Other than using threads.)

	It's worse than that - there's no way of knowing reliably whether a
file is on an NFS mount AFAIR, short of statting it - which causes the
thread to block permanantly.

	Gnome-vfs uses a thread-pool - and as sys-calls are made on the NFS
mount, they destroy thread after thread until everything is jammed up
solid.

	Of course - there are some partial hacks that can be done to improve
the situation generally, but they are all partial ones. eg. we could try
and allocate thread pools / dispatch jobs based on the path prefix; eg.
all of '/home' in 3 threads, all of '/usr' in another 2, and 5 for
random other things [ or something ]. But it's not so clear how to make
that work well :-) a nice simple solution that detected 'slow' prefixes,
and limited their thread swallowing potential may help but ...

	HTH,

		Michael.

-- 
 mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]