aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlessio Balsini <balsini@google.com>2021-01-28 19:30:27 +0000
committerAlessio Balsini <balsini@google.com>2021-01-29 17:03:54 +0000
commit4f7f5f69edbf7c0bcb6e031c697ed890cab07139 (patch)
treeb5c42d7cf3e5a170795998012eb9643d2db313c9 /include
parent8165c6d00e9188ab4eb3b1be7d013354f5be43e7 (diff)
downloadlibfuse-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.h5
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;