Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ocis driver: synctime based etag propagation #1180

Merged
merged 2 commits into from
Sep 21, 2020

Conversation

butonic
Copy link
Contributor

@butonic butonic commented Sep 17, 2020

This pr changes the etag from a dedicated property to a calculated property, based on fileid and mtime.
It also introduces a treetime (tmtime), similar to eos synctime, which is used to indicate when the subtree last changed.

The traatime accounting is enabled for nodes which have the user.ocis.propagation extended attribute set to 1. We could change this to a more readable format, eg none, sync or async. Then we could make the propagation strategy configurable. Currently, propagation is in sync, which does require a lot of updates.

  • verify file and folder updates correctly trigger updates
  • verify using the sync client
  • refactor xattr code
  • add changelog

I also turned all magic strings for extended attributes into constants.

the logic is the same as in eos: the parent nodes tmtime is checked and updated if it is older than the mtime of the changed node, up to the root.

@update-docs
Copy link

update-docs bot commented Sep 17, 2020

Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes.

@butonic butonic marked this pull request as draft September 17, 2020 19:04
@butonic butonic force-pushed the ocis-synctime-accounting branch 2 times, most recently from adf4357 to eb4acee Compare September 18, 2020 10:58
Signed-off-by: Jörn Friedrich Dreyer <[email protected]>
Signed-off-by: Jörn Friedrich Dreyer <[email protected]>
@butonic butonic changed the title [WIP] synctime based etag propagation ocis driver: synctime based etag propagation Sep 21, 2020
@butonic butonic marked this pull request as ready for review September 21, 2020 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants