aboutsummaryrefslogtreecommitdiffstats
path: root/lib/helper.c
diff options
context:
space:
mode:
authorBernd Schubert <bschubert@ddn.com>2025-05-18 00:24:07 +0200
committerBernd Schubert <bernd@bsbernd.com>2025-05-20 18:14:44 +0200
commitbaadab0492a495fda98216b351976d2e5d6d0866 (patch)
tree61017d2976439c6b7453b402aad5ecd3816b72ef /lib/helper.c
parenteadd6a5454373c7c404463c81be652275da5e07b (diff)
downloadlibfuse-baadab0492a495fda98216b351976d2e5d6d0866.tar.gz
conn->want conversion: Fix fuse_apply_conn_info_opts()
fuse_apply_conn_info_opts() was applying to 'want_ext', which would cause conflicts with 'want' if the application applied its own flags to 'conn->want'. Solution is: - to move fuse_{set,unset,get}_feature_flag and convert_to_conn_want_ext() to fuse_lowlevel.c and to define them as part of the public API, although convert_to_conn_want_ext() should not be used - it is currently needed to be a public function due as it needs to be defined for the tests. Related to https://github.com/libfuse/libfuse/issues/1171 and https://github.com/libfuse/libfuse/pull/1172. Closes: https://github.com/libfuse/libfuse/issues/1171 Signed-off-by: Bernd Schubert <bschubert@ddn.com>
Diffstat (limited to 'lib/helper.c')
-rw-r--r--lib/helper.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/helper.c b/lib/helper.c
index 5811c53..ced70a2 100644
--- a/lib/helper.c
+++ b/lib/helper.c
@@ -430,13 +430,13 @@ void fuse_apply_conn_info_opts(struct fuse_conn_info_opts *opts,
#define LL_ENABLE(cond, cap) \
do { \
if (cond) \
- conn->want_ext |= (cap); \
+ fuse_set_feature_flag(conn, cap); \
} while (0)
#define LL_DISABLE(cond, cap) \
do { \
if (cond) \
- conn->want_ext &= ~(cap); \
+ fuse_unset_feature_flag(conn, cap); \
} while (0)
LL_ENABLE(opts->splice_read, FUSE_CAP_SPLICE_READ);