ANDROID: fs/fuse: Use extended init flags for FUSE_PASSTHROUGH
Starting with FUSE 7.36, all the fields for the 32-bit FUSE init flags have been allocated, so commit 53db2893 ("fuse: extend init flags") introduces the new 32-bit flags2 field in fuse_init_in and fuse_init_out. That change also adds the FUSE_INIT_RESERVED flag that doesn't have any specific purpose yet, is just reserved and should not be used, and (un)fortunately collides with FUSE_PASSTHROUGH. This change fixes the conflict by simply setting the FUSE_PASSTHROUGH value to the next, latest unused fuse2 bit. Although this is not the best design choice, userspace will know what FUSE_PASSTHROUGH bit to choose based on the FUSE major and minor version for FUSE version: - < 7.36: FUSE_PASSTHROUGH is the 31st bit of flags; - otherwise: FUSE_PASSTHROUGH is the 31st bit of flags2. Test: launch_cvd (both android-mainline and android13-5.10) \ `logcat FuseDaemon:V \*:S` shows no FUSE passthrough errors Bug: 215310351 Signed-off-by:Alessio Balsini <balsini@google.com> Change-Id: I85d7582008b8c093b3172b3f41c6cdf09863dd45
Loading