aboutsummaryrefslogtreecommitdiffstats
path: root/example/passthrough_ll.c
diff options
context:
space:
mode:
authorBernd Schubert <bernd@bsbernd.com>2024-12-28 15:10:03 +0100
committerBernd Schubert <bernd@bsbernd.com>2024-12-30 23:04:11 +0100
commit24f5b129c4e1b03ebbd05ac0c7673f306facea1a (patch)
treee16f5b02a829457efab3f98ebbe54271e581a7f6 /example/passthrough_ll.c
parent3d90402f9084edb90ddb00d6ccd8c2183e6df140 (diff)
downloadlibfuse-24f5b129c4e1b03ebbd05ac0c7673f306facea1a.tar.gz
Add 64-bit conn::{capable,want}_ext fields
The previous fields are left for ABI compatibility, although it is not beautiful to add that complexity when we have to increase the so-version as we had ABI breakage anyway. example/printcap is simplified to use an array, as every line would have needed to be modified anyway. Missing 'FUSE_CAP_PASSTHROUGH' was added. Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
Diffstat (limited to 'example/passthrough_ll.c')
-rw-r--r--example/passthrough_ll.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/example/passthrough_ll.c b/example/passthrough_ll.c
index 309d8dd..5f1fde9 100644
--- a/example/passthrough_ll.c
+++ b/example/passthrough_ll.c
@@ -168,18 +168,20 @@ static bool lo_debug(fuse_req_t req)
static void lo_init(void *userdata,
struct fuse_conn_info *conn)
{
- struct lo_data *lo = (struct lo_data*) userdata;
-
- if (lo->writeback &&
- conn->capable & FUSE_CAP_WRITEBACK_CACHE) {
- if (lo->debug)
- fuse_log(FUSE_LOG_DEBUG, "lo_init: activating writeback\n");
- conn->want |= FUSE_CAP_WRITEBACK_CACHE;
+ struct lo_data *lo = (struct lo_data *)userdata;
+ bool has_flag;
+
+ if (lo->writeback) {
+ has_flag = fuse_set_feature_flag(conn, FUSE_CAP_WRITEBACK_CACHE);
+ if (lo->debug && has_flag)
+ fuse_log(FUSE_LOG_DEBUG,
+ "lo_init: activating writeback\n");
}
if (lo->flock && conn->capable & FUSE_CAP_FLOCK_LOCKS) {
- if (lo->debug)
- fuse_log(FUSE_LOG_DEBUG, "lo_init: activating flock locks\n");
- conn->want |= FUSE_CAP_FLOCK_LOCKS;
+ has_flag = fuse_set_feature_flag(conn, FUSE_CAP_FLOCK_LOCKS);
+ if (lo->debug && has_flag)
+ fuse_log(FUSE_LOG_DEBUG,
+ "lo_init: activating flock locks\n");
}
/* Disable the receiving and processing of FUSE_INTERRUPT requests */