Re: Integrating support for GNOME VFS into glibc



> Well here's one for starters...
>
> Network operations and local file system operations generally require a
>   different programming paradigm. Look at Windows File Sharing on
> windows for instance. It's plugged into the basic syscalls. When things
> are going well, everything's works nicely, but the moment you have
> network trouble your system hangs up and turns into a brick.

OK I realise this is a hack and not the most elegant solution. New apps should 
be written atop GVFS of course. The system shouldn't lock up however - of 
course the app may appear to lock up but only that single app not the whole 
system.

It is possible to mount remote file shares (NFS, FTP, SMB etc) at the moment 
and then effectively any app using the POSIX API will be doing network 
operations without realising it. So this is a problem that already exists and 
would not be a new problem introduced. It would just make it easier for the 
user to use legacy applications without having to mount and find a user file 
system to do it. The problem with the user file system approach is that the 
user cannot use the familiar URL syntax they are used to and also that the 
files may be available for other users to see which may be a security risk. 

>
> The file system is appropriate for synchronous calls, whereas network
> operations should be done asynchronously (or on a different thread etc...).
>
> Sure, this is less of a problem for command line apps, but it's
> relevancy for GUI stuff shouldn't be ignored. It seems that approaches
> which tie in network file systems at a low level like this will always
> be a hack (although useable in certain circumstances), rather than a
> sound implemantation (and useable everywhere).

Of course, I agree with you. In theory though GUI apps should not have been 
written to POSIX that aren't using threads in the background anyway because 
NFS file systems can lock up and so on. But of course there are badly written 
GUI apps that don't take this into acount. 







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