From 0c25e5b8f8ef1ec65dd285b3daad907d536d8541 Mon Sep 17 00:00:00 2001 From: Xavi Hernandez Date: Tue, 16 Sep 2025 10:24:44 +0200 Subject: [PATCH] libcephfs_proxy: add protocol definitions for nonblocking fsync Signed-off-by: Xavi Hernandez --- src/libcephfs_proxy/proxy_requests.h | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/libcephfs_proxy/proxy_requests.h b/src/libcephfs_proxy/proxy_requests.h index f86cf9e5e9b1..9cf127d7ef30 100644 --- a/src/libcephfs_proxy/proxy_requests.h +++ b/src/libcephfs_proxy/proxy_requests.h @@ -132,6 +132,7 @@ enum { LIBCEPHFSD_OP_LL_SET_FSCRYPT_POLICY_V2, LIBCEPHFSD_OP_LL_GET_FSCRYPT_POLICY_V2, LIBCEPHFSD_OP_LL_IS_ENCRYPTED, + LIBCEPHFSD_OP_LL_NONBLOCKING_FSYNC, /* Add more operations above this comment. */ @@ -141,6 +142,7 @@ enum { enum { LIBCEPHFSD_CBK_NULL = 0, LIBCEPHFSD_CBK_LL_NONBLOCKING_RW, + LIBCEPHFSD_CBK_LL_NONBLOCKING_FSYNC, /* Add more callbacks above this comment. */ @@ -1080,6 +1082,22 @@ PROTO_CALL(ceph_ll_is_encrypted, ) ); +PROTO_CALL(ceph_ll_nonblocking_fsync, + PROTO_REQ( + PROTO_VER(v0, + uint64_t cmount; + uint64_t info; + uint64_t inode; + bool syncdataonly; + ) + ), + PROTO_ANS( + PROTO_VER(v0, + int32_t res; + ) + ) +); + typedef union _proxy_req { proxy_link_req_t header; @@ -1137,6 +1155,7 @@ typedef union _proxy_req { proxy_ceph_ll_set_fscrypt_policy_v2_req_t ll_set_fscrypt_policy_v2; proxy_ceph_ll_get_fscrypt_policy_v2_req_t ll_get_fscrypt_policy_v2; proxy_ceph_ll_is_encrypted_req_t ll_is_encrypted; + proxy_ceph_ll_nonblocking_fsync_req_t ll_nonblocking_fsync; } proxy_req_t; PROTO_NOTIFY(ceph_ll_nonblocking_readv_writev, @@ -1148,9 +1167,19 @@ PROTO_NOTIFY(ceph_ll_nonblocking_readv_writev, ) ); +PROTO_NOTIFY(ceph_ll_nonblocking_fsync, + PROTO_CBK( + PROTO_VER(v0, + uint64_t info; + int64_t res; + ) + ) +); + typedef union _proxy_cbk { proxy_link_req_t header; proxy_ceph_ll_nonblocking_readv_writev_cbk_t ll_nonblocking_rw; + proxy_ceph_ll_nonblocking_fsync_cbk_t ll_nonblocking_fsync; } proxy_cbk_t; #endif -- 2.47.3