I cannot use libfuse, so I'm writing my own mini-wrapper directly on top of the kernel interface. For the major version handshake, I understand that I need to reply with version 7 if a later major version is required. But what to do about the minor version? Should I use the minimum version that is expected to work (because there have not been any struct layout changes since)? I think this could end up problematic if some struct sizes have grown between the known-good minimum version and the <linux/fuse.h> version, something that a future <linux/fuse.h> version might bring. Or should I just send back FUSE_KERNEL_MINOR_VERSION from the system version of <linux/fuse.h>? I think this assumes that merely increasing the minor version does not result in behavioral changes (such as additonal FUSE events being generated that the current code knows nothing about). The code only has to run on the system that it was compiled on and possibly newer kernels. Going back to older kernels is not needed. But I also expect people using a wide range of kernel header versions to compile this code. Or perhaps I should bundle some older version of <linux/fuse.h> with my sources? Thanks, Florian