KDE is not an OS platform... (And neither is Gnome)

Benoit Jacob jacob.benoit.1 at gmail.com
Sun Nov 1 14:58:08 GMT 2009


2009/11/1 David Faure <faure at kde.org>:
> On Saturday 31 October 2009, Luciano Montanaro wrote:
>> On venerdì 30 ottobre 2009, David Faure wrote:
>> > On Friday 30 October 2009, Benoit Jacob wrote:
>> > > 1) Make sure that both KIO and GVFS can be mounted into the OS's native
>> > >  VFS. 2) Make it so that KIO and GVFS agree on a filesystem layout (a
>> > > "name mangling" if you want) so that the same filename can be used
>> > > regardless of the choice of KIO or GVFS. By a "name mangling" i mean a
>> > > translation from addresses like "sftp://user@server/path" to addresses
>> > > like "/mountpoint/ssh/user/server/path".
>> >
>> > Please keep in mind the difference between sync and async APIs.
>> >
>> > You download a file over FTP. KIO is async: the application remains
>> >  responsive, you get a progress dialog. The "native VFS" is most of the
>> >  time used in a blocking way. fopen,fwrite,fclose. Which means the
>> >  application freezes until the FTP server sends the whole data. Not good.
>> > A remote filesystem is NOT like the local filesystem.
>>
>> Well, the filesystem calls are synchronous, yes, but that's not a problem
>>  for the file:// kioslave, is it?
>
> Right. But my point is that people saying "by mounting stuff into the filesystem
> we can allow even non-KDE non-Gnome applications to benefit from kioslaves"
> are omitting the fact that those non-kde non-gnome applications would then
> use synchronous API, and would block for a very long time.
> So a KIO-like API is needed. So mounting things into a filesystem mountpoint
> doesn't get you anything.

But what about my other mail above, where I mentioned that Linux 2.6
already has an async file io API? It's not our fault then, if these
apps use sync io when they want async io; or if they only want to use
sync io, then they shouldn't expect to take advantage of everything.
(and again, on other platforms that don't provide async file IO,
nothing changes). Also note that many KIO slaves are pretty cool
already with sync IO, for example audiocd://...

Moreover there was another reason why mounting stuff into the
filesystem was nice: it allowed KIO-GVFS interoperability without one
relying on the other --- "on an equal footing". There the idea was to
reimplement that part of KIO/GVFS to use the async io API on Linux 2.6
 (while again, nothing changes on other platforms).

Benoit




More information about the kde-core-devel mailing list