Skip to content
This repository was archived by the owner on May 9, 2022. It is now read-only.

Use projection attributes for content and provider IDs#8

Merged
chrisd8088 merged 4 commits intovfs-apifrom
vfs-api-id-attrs
Mar 15, 2019
Merged

Use projection attributes for content and provider IDs#8
chrisd8088 merged 4 commits intovfs-apifrom
vfs-api-id-attrs

Conversation

@chrisd8088
Copy link

This is a parallel change which should be applied at the same time as github/libprojfs#60, and in conjunction with the revised libprojfs API, should now allow MirrorProvider to store and retrieve it's dummy content and provider IDs. (And, at least in theory, should allow the GVFS provider to do the same.)

Note that I'm not looking to merge this into vfs-api yet; I'd like to do that at the same time as the corresponding libprojfs API changes are merged into master, and as I note in github/libprojfs#60 I'd like to get the test suite working there first. But if you (@kivikakk) could give this a once-over for problems, I'd really appreciate it!

Copy link

@kivikakk kivikakk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good 👍

Pass our content and provider ID metadata to the Linux
interoperability class, which will (in subsequent commits and
with a dependency on changes to the libprojfs API) then write and read
these IDs as metadata fields stored as file extended attributes.
We pass the content and provider IDs to the libprojfs API function
projfs_create_proj_file(), which will store them as extended
attributes of the newly created file (pending revisions to the
libprojfs API).

For directory creation, however, we do not store any metadata
attributes, as only files may need to be subsequently hydrated with
data, in a second post-projection step which depends on the content ID
written during initial the projection step.
We retrieve the content and provider IDs using the new library
function projfs_get_attrs(), which (pending revisions to the
libprojfs API) searches for and reads any matching extended attributes
of the file being hydrated.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants