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

XAttr backend for VFS #2793

Merged
merged 4 commits into from
Jan 14, 2021
Merged

XAttr backend for VFS #2793

merged 4 commits into from
Jan 14, 2021

Conversation

er-vin
Copy link
Member

@er-vin er-vin commented Jan 4, 2021

Plan is to use it on macOS and Linux but some extra work is required before making it the default choice. Indeed apart from the obvious "this needs more testing" there is also the need for growing Linux support for our attribute first and to implement the macOS support for the com.apple.LaunchServices.OpenWith attribute.

Obviously earmarked for use on macOS (even though "not only macOS"), different approach to what is hinted at in #1337 which I argue is not the best way to go about it for this project.

@er-vin
Copy link
Member Author

er-vin commented Jan 5, 2021

/rebase

@github-actions github-actions bot force-pushed the xattr_backend_for_vfs branch from c731959 to 9656d6f Compare January 5, 2021 14:31
src/libsync/CMakeLists.txt Show resolved Hide resolved
src/libsync/vfs/xattr/vfs_xattr.cpp Show resolved Hide resolved
src/libsync/vfs/xattr/vfs_xattr.cpp Show resolved Hide resolved
test/CMakeLists.txt Show resolved Hide resolved
@er-vin er-vin force-pushed the xattr_backend_for_vfs branch from 9656d6f to 0b4bddc Compare January 14, 2021 11:56
Kevin Ottens added 4 commits January 14, 2021 12:57
Ideally this will end up being the backend we use for both Linux and
macOS but that will require work with desktop environments on the Linux
side and to reverse engineering at least on xattr value on macOS.

Signed-off-by: Kevin Ottens <[email protected]>
Otherwise backends can't get to the actual file which will be needed for
the XAttr backend.

Signed-off-by: Kevin Ottens <[email protected]>
Indeed, that file size will almost always change between the 1 byte
placeholder and the hydrated file. Only when using the CfAPI on Windows
this won't be the case since because it will expose the original size
even for placeholders.

Also worth noting: the suffix backend didn't hit that case since the
filename changes (with suffix for placeholders, without for hydrated
files).

Signed-off-by: Kevin Ottens <[email protected]>
@er-vin er-vin force-pushed the xattr_backend_for_vfs branch from 0b4bddc to 1aeb77c Compare January 14, 2021 11:57
@allexzander
Copy link
Contributor

@er-vin I'd say - squash 'em all, but I've approved already. Feel free to re-request if you squash them eventually.

@er-vin
Copy link
Member Author

er-vin commented Jan 14, 2021

@er-vin I'd say - squash 'em all, but I've approved already. Feel free to re-request if you squash them eventually.

Well, I'd rather keep them like this. Each commit has a purpose on the steps to create the backend. It's generally the "fix this, fix that, adjust commit style, oh damn I stumbled there" commits which I try to purge from the history. But as long as they are showing a clear reasoning path there's more value in keeping them IMHO.

@er-vin
Copy link
Member Author

er-vin commented Jan 14, 2021

Alright, let's wait for the CI now...

@nextcloud-desktop-bot
Copy link

AppImage file: Nextcloud-PR-2793-1aeb77c967db8b54d58d5009df432ca24b869654-x86_64.AppImage

To test this change/fix you can simply download above AppImage file and test it.

Please make sure to quit your existing Nextcloud app and backup your data.

@er-vin er-vin merged commit c34c0f0 into master Jan 14, 2021
@er-vin er-vin deleted the xattr_backend_for_vfs branch January 14, 2021 13:30
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.

3 participants