]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
libcephfs_proxy: add protocol definitions for nonblocking fsync
authorXavi Hernandez <xhernandez@gmail.com>
Tue, 16 Sep 2025 08:24:44 +0000 (10:24 +0200)
committerXavi Hernandez <xhernandez@gmail.com>
Tue, 20 Jan 2026 09:45:44 +0000 (10:45 +0100)
Signed-off-by: Xavi Hernandez <xhernandez@gmail.com>
src/libcephfs_proxy/proxy_requests.h

index f86cf9e5e9b1cedec3453bf468ffcdcb237713e9..9cf127d7ef30d1e01b64ff410e403b22a5b25c3b 100644 (file)
@@ -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