Open
Conversation
This patch uses fuse3 instead of fuse2 in order to support afuse in Debian forky. A lot of the utility functions use an additional parameter which is not used and ignored (fi). The rename function has an extra flags parameter which make it possible to not overwrite if a file exists or make the rename atomic. We return an error if the flags parameter is set, since neither is implemented. fuse_main takes an extra parameter for private data. Since we don't use that, we pass a zero. The extra parameter for the filler allows the kernel to prefill the values, since we don't use that, we pass a zero. utime was replaced by utimens which takes now a struct timespec tv[2] parameter instead of the old struct utimebuf *buf pointer. It also takes an extra parameter fi which is ignored, since it is not used in the implementation. In the utimens function the case PROC_PATH_PROXY_DIR is adopted to utimensat which was taken from the example documentation directory /usr/share/doc/libfuse3-dev/examples/passthrough_ll.c:278 Otherwise is unchanged. ftruncate and fgetattr callbacks are dropped due to being provided by fuse3. v2: Drop libfuse2 support to make patch easier to review v3: Enable AC_SYS_LARGEFILE required by FUSE3 on 32-bit platforms Signed-off-by: Thomas Glanzmann <thomas@glanzmann.de>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This patch uses fuse3 instead of fuse2 in order to support afuse in Debian forky. A lot of the utility functions use an additional parameter which is not used and ignored (fi). The rename function has an extra flags parameter which make it possible to not overwrite if a file exists or make the rename atomic. We return an error if the flags parameter is set, since neither is implemented. fuse_main takes an extra parameter for private data. Since we don't use that, we pass a zero. The extra parameter for the filler allows the kernel to prefill the values, since we don't use that, we pass a zero. utime was replaced by utimens which takes now a struct timespec tv[2] parameter instead of the old struct utimebuf *buf pointer. It also takes an extra parameter fi which is ignored, since it is not used in the implementation. In the utimens function the case PROC_PATH_PROXY_DIR is adopted to utimensat which was taken from the example documentation directory
/usr/share/doc/libfuse3-dev/examples/passthrough_ll.c:278 Otherwise is unchanged. ftruncate and fgetattr callbacks are dropped due to being provided by fuse3.