[Owncloud] Syncing and Time Synchronization

Bart Visscher bartv at thisnet.nl
Wed Jul 18 13:40:29 UTC 2012


On Wed, Jul 18, 2012 at 03:23:20PM +0200, Klaas Freitag wrote:
> On 18.07.2012 14:31, Bart Visscher wrote:
> Hi,
> 
> >On Wed, Jul 18, 2012 at 10:31:13AM +0200, Klaas Freitag wrote:
> >>For that, the best would be if the ownCloud WebDAV server would
> >>provide another WebDAV property that returns the md5-sum of the file
> >>or file list. That probably means that the md5 sum needs to be
> >>calculated on every file change on the server and be stored in the
> >>fs cache.
> >
> >I think you could use the etag for that, this is a standard property in
> >WebDAV.
> AFAIU Etags could help us here if the PUT of a new file to the
> server would have an ETag in the response which could be stored on
> the client. On subsequent sync runs, the Etag could be checked to
> see if it has changed. Yet, currently I can neither see an etag in
> the PUT response nor in a GET. That is probably because the getETag
> implementation in lib/connector/sabre/file.php returns null. So that
> would still have to be implemented.

Yes, but this shouldn't be that much work.

> 
> >For transfering big files, i have looked at the librsync
> >protocol/way. This uses a rolling checksum and a strong hash. The hash
> >is md4 which is implemented by php. The rolling checksum is not
> >implemented by php, I made a version in php, but this proved to be
> >slow (1 second/MB on a fast machine). There is a PECL extension, but i
> >think that as owncloud we should also have an alternative.
> Yes, but that is another problem, right?

Yes, was a bit sidelined by an other mail in this thread.

> >
> >
> >>
> >>Is that doable? Who can help with that?
> >
> >I we use the etag property we should calculate this when it is needed,
> >not when the file changes. File can change multiple times in between
> >etag requests.
> Well, calculating an MD5 at least takes some time, so it would be
> better to get that out of the DB rather than calculating it on
> request.

I wasn't quite clean, but this was in response to calculating the md5 on
file changes. The flow i was thinking about is: etag needed -> check db
-> not found: calculate and store -> return etag.

Bart

> 
> regards,
> 
> Klaas
> _______________________________________________
> Owncloud mailing list
> Owncloud at kde.org
> https://mail.kde.org/mailman/listinfo/owncloud



More information about the Owncloud mailing list