diff options
author | Alessio Balsini <balsini@google.com> | 2021-01-28 19:30:27 +0000 |
---|---|---|
committer | Alessio Balsini <balsini@google.com> | 2021-01-29 17:03:54 +0000 |
commit | 4f7f5f69edbf7c0bcb6e031c697ed890cab07139 (patch) | |
tree | b5c42d7cf3e5a170795998012eb9643d2db313c9 /include | |
parent | 8165c6d00e9188ab4eb3b1be7d013354f5be43e7 (diff) | |
download | libfuse-4f7f5f69edbf7c0bcb6e031c697ed890cab07139.tar.gz |
FUSE passthrough: handle unstable kernel interface
The interface for FUSE passthrough is still under discussion upstream,
thus this change fixes the issue of being able to support multiple
interfaces for passthrough, depending on what the kernel provides.
This implementation tries to explore the different FUSE passthrough
interface implementation and updates an index to the one that has
been found working.
Bug: 167695973
Test: Manual read/write of passthrough files with extra printks
Signed-off-by: Alessio Balsini <balsini@google.com>
Change-Id: I74e0e6c0691b37160a00af77fb18eda5342630f5
Diffstat (limited to 'include')
-rw-r--r-- | include/fuse_kernel.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/fuse_kernel.h b/include/fuse_kernel.h index 8bd7f0d..55d8e2c 100644 --- a/include/fuse_kernel.h +++ b/include/fuse_kernel.h @@ -575,7 +575,7 @@ struct fuse_read_in { uint32_t padding; }; -struct fuse_passthrough_out { +struct fuse_passthrough_out_v0 { uint32_t fd; /* For future implementation */ uint32_t len; @@ -834,7 +834,8 @@ struct fuse_notify_retrieve_in { /* Device ioctls: */ #define FUSE_DEV_IOC_CLONE _IOR(229, 0, uint32_t) -#define FUSE_DEV_IOC_PASSTHROUGH_OPEN _IOW(229, 1, struct fuse_passthrough_out) +#define FUSE_DEV_IOC_PASSTHROUGH_OPEN_V0 _IOW(229, 1, struct fuse_passthrough_out_v0) +#define FUSE_DEV_IOC_PASSTHROUGH_OPEN_V1 _IOW(229, 127, struct fuse_passthrough_out_v0) struct fuse_lseek_in { uint64_t fh; |