-
Notifications
You must be signed in to change notification settings - Fork 113
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
Separate blobs from metadata in the ocis driver #1452
Conversation
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. |
4c17963
to
9f9b1b1
Compare
9f9b1b1
to
e7116e9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some minimal preliminary comments. It makes sense to add another abstraction between the filesystem and a blob storage. I will try it locally later today and continue reviewing behavior on the meantime. 🚀 awesome awesome work
} | ||
|
||
// NewDefault returns an instance with default components | ||
func NewDefault(m map[string]interface{}, bs tree.Blobstore) (storage.FS, error) { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
a48811a
to
1d0e7d5
Compare
10d0512
to
0815066
Compare
home and users were already switched byfore.
During upload the content hash is used as the blobID which automagically provides deduplication on the blobstore side.
We currently don't have reference counting for blobs in place so deduplication using the content hash is not yet possible.
Directories don't have blobs associated with them.
c25b29e
to
ecc2efc
Compare
ecc2efc
to
e7e05fa
Compare
@butonic @phil-davis the ldap problem seems to be back unfortunately... (e.g. in https://drone.cernbox.cern.ch/cs3org/reva/710) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
d3f1fa5
to
7bb67e1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just one minor nit, probably you forgot to rename the file:
pkg/storage/utils/decomposedfs/decomposed.go
=> pkg/storage/utils/decomposedfs/decomposedfs.go
Same for the test files.
@labkode Thanks for your comment. I renamed the file accordingly. |
This pr makes the ocis driver store the actual file content separately from the metadata, allowing for using a different (potentially faster) storage for the metadata.
Common code between the
ocis
ands3ng
drivers is extracted into adecomposedfs
package which leaves them with just a thin layer for the different blobstore implementations.