[Owncloud] OwnClouds Future
Evgeniy Ivanov
lolkaantimat at gmail.com
Sun Mar 21 23:10:00 UTC 2010
On Mon, Mar 22, 2010 at 1:34 AM, Cosmin Gorgovan <cosmin at linux-geek.org> wrote:
> Hello,
>>
>> On Mon, Mar 22, 2010 at 12:28 AM, Cosmin Gorgovan<cosmin at linux-geek.org>
>> wrote:
>>
>>>
>>> In any case, I want to implement extensive caching, read-ahead and other
>>> optimizations.
>>>
>>
>> These things must be done by very low-level stuff provided by
>> operating system, e.g. davfs might use either its own caching or put
>> it on VFS and driver (afair in Linux most caching is done by VFS and
>> driver (network, disk, etc)).
>
> My proposal was to write a FUSE (that is, file system in userspace) driver
> because:
Well, your FUSE driver have to read/write its contents from server in
some way. Here you should start thinking about using any existing
protocol or reinventing the wheel. New protocol requires server-side
application, which is additional work. Old protocols might have
limitations, but also existing software, thus FUSE doesn't look very
attractive (better to implement extensions/improvements for available
software). Also fuse driver is not portable (and KDE is).
Anyway implementing filesystem (userspace or kernelspace) is
complicated task and doubt it might be interesting for KDE project.
> * davfs2 doesn't work (at least at the moment) with ownCloud
It can become part of your GSoC project.
> * you need root privileges to mount a share
It should be solvable, since you don't have problems with removable devices.
> * from what I've read, it doesn't do read-ahead
Well, I'm not sure if it can be done via http. AFAIK you can only
request some file and that's all since server can do path-->file
(data) only. Of course there is a way to get only parts of file using
special convention (but here you fell into trouble with limitations to
directory structure and some other things) and it's done in python
very quickly (but here again you will have server side application).
> And if using a regular daemon for synchronizing your home directory you'd
> probably get lots of conflicts because you won't be able to tell apps "wait
> before I check if that file already exists", etc.
>>
>> Syncing client is not system software
>>
>
> I'd say a python script running under the user's account isn't either.
Sure, that's what I meant.
>> and it provides operations on high level: versioning,
>
> Shouldn't the server do that, especially as the project features say it
> needs to get rid of older revisions if it is running out of space?
Depends on functionality which client provides, e.g. it should be able
to get requested version from the server, thus it should know about
which versioning mechanism is used.
More information about the Owncloud
mailing list