]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
libcephfs_proxy: define async rw opcode and structures
authorXavi Hernandez <xhernandez@gmail.com>
Tue, 18 Feb 2025 14:19:43 +0000 (15:19 +0100)
committerXavi Hernandez <xhernandez@gmail.com>
Wed, 19 Feb 2025 19:11:24 +0000 (20:11 +0100)
Signed-off-by: Xavi Hernandez <xhernandez@gmail.com>
src/libcephfs_proxy/proxy_requests.h

index 0b023f2876eaf72f3e7842bcb3572b1a6272eff2..7552af6b3390dbff03b3b527c664bfbe5c78b9a5 100644 (file)
@@ -111,6 +111,7 @@ enum {
        LIBCEPHFSD_OP_LL_RMDIR,
        LIBCEPHFSD_OP_LL_RELEASEDIR,
        LIBCEPHFSD_OP_MOUNT_PERMS,
+       LIBCEPHFSD_OP_LL_NONBLOCKING_RW,
 
        /* Add more operations above this comment. */
 
@@ -119,6 +120,7 @@ enum {
 
 enum {
        LIBCEPHFSD_CBK_NULL = 0,
+       LIBCEPHFSD_CBK_LL_NONBLOCKING_RW,
 
        /* Add more callbacks above this comment. */
 
@@ -310,6 +312,11 @@ CEPH_TYPE(ceph_ll_releasedir, REQ_CMOUNT(uint64_t dir;), ANS());
 
 CEPH_TYPE(ceph_mount_perms, REQ_CMOUNT(), ANS(uint64_t userperm;));
 
+CEPH_TYPE(ceph_ll_nonblocking_readv_writev,
+         REQ_CMOUNT(uint64_t info; uint64_t fh; int64_t off; uint64_t size;
+                    bool write; bool fsync; bool syncdataonly;),
+         ANS(int64_t res;));
+
 typedef union _proxy_req {
        proxy_link_req_t header;
 
@@ -360,10 +367,15 @@ typedef union _proxy_req {
        proxy_ceph_ll_rmdir_req_t ll_rmdir;
        proxy_ceph_ll_releasedir_req_t ll_releasedir;
        proxy_ceph_mount_perms_req_t mount_perms;
+       proxy_ceph_ll_nonblocking_readv_writev_req_t ll_nonblocking_rw;
 } proxy_req_t;
 
+CEPH_TYPE_CBK(ceph_ll_nonblocking_readv_writev,
+             CBK(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_cbk_t;
 
 #endif