aboutsummaryrefslogtreecommitdiffstats
path: root/test/meson.build
diff options
context:
space:
mode:
authorBernd Schubert <bernd@bsbernd.com>2025-03-22 23:57:55 +0100
committerBernd Schubert <bernd@bsbernd.com>2025-03-24 10:29:15 +0100
commitf52f71df3373185c4d18414aad57c4e8995a4393 (patch)
treec29e5167670efc2d399e00cece46fc03e62b0c20 /test/meson.build
parentcdad7b6001036f1a33bddab59558eec099bcb278 (diff)
downloadlibfuse-f52f71df3373185c4d18414aad57c4e8995a4393.tar.gz
fuse: Fix want flag conversion
32-bit conn->want flags been left to be ABI compatible to 3.10, even though the so version was changed. The more recent way is to use fuse_set_feature_flag(), which will use conn->want_ext. Given that we now have two flags (want and want_ext), we need to convert and that brought several issues - If the application sets conn->want, that needs to be set into the lower 32 bit of conn->want_ext. As the application might actually unset values, it really has to be a copy and not just 'or' - fixed now. - convert_to_conn_want_ext() actually needs to check for _modified_ conn->want and conn->want_ext - convert_to_conn_want_ext() must consider being called from high and lowlevel interfact, with different want_ext_default and want_default values. It is only a failure, if the application changed both, conn->want and conn->want_ext. This function was failing in issue #1171, because high level fuse_fs_init() was changing values and then lowlevel do_init() was incorrectly failing on that. This also adds a new test (test_want_conversion) and sets values into example/{hello.c,hello_ll.c} Also some more internal users of conn->want are converted to fuse_{set,unset}_feature_flag(). Closes: https://github.com/libfuse/libfuse/issues/1171 Signed-off-by: Bernd Schubert <bernd@bsbernd.com> (cherry picked from commit f68970cd235a7e14026ca0f6240428bbebe8223b)
Diffstat (limited to 'test/meson.build')
-rw-r--r--test/meson.build3
1 files changed, 3 insertions, 0 deletions
diff --git a/test/meson.build b/test/meson.build
index 3d74b9a..5997030 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -16,6 +16,9 @@ td += executable('readdir_inode', 'readdir_inode.c',
td += executable('release_unlink_race', 'release_unlink_race.c',
dependencies: [ libfuse_dep ],
install: false)
+td += executable('test_want_conversion', 'test_want_conversion.c',
+ dependencies: [ libfuse_dep ],
+ install: false)
test_scripts = [ 'conftest.py', 'pytest.ini', 'test_examples.py',
'util.py', 'test_ctests.py', 'test_custom_io.py' ]