]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
libcephfs_proxy: rewrite protocol structures definition
authorXavi Hernandez <xhernandez@gmail.com>
Sat, 26 Jul 2025 16:01:29 +0000 (18:01 +0200)
committerAnoop C S <anoopcs@cryptolab.net>
Fri, 15 Aug 2025 09:52:21 +0000 (15:22 +0530)
This is just a reorganization of the definitions of the structures used
for proxy communications. There's no change in their contents.

Signed-off-by: Xavi Hernandez <xhernandez@gmail.com>
(cherry picked from commit 0aa69fffd13c84f47b965a8ef4a297981bc8405b)

src/libcephfs_proxy/proxy_requests.h

index c18a9f7823e3adf4a369d39fbc877b3f3d8ffd63..6815e5a27e7fe79122b2979b0cdc5efec0895121 100644 (file)
@@ -161,161 +161,486 @@ enum {
 
 /* Declaration of types used to transder requests and answers. */
 
-CEPH_TYPE(ceph_version, REQ(),
-         ANS(int32_t major; int32_t minor; int32_t patch; int16_t text;));
-
-CEPH_TYPE(ceph_userperm_new, REQ(uint32_t uid; uint32_t gid; uint32_t groups;),
-         ANS(uint64_t userperm;));
-
-CEPH_TYPE(ceph_userperm_destroy, REQ(uint64_t userperm;), ANS());
-
-CEPH_TYPE(ceph_create, REQ(int16_t id;), ANS_CMOUNT());
-
-CEPH_TYPE(ceph_release, REQ_CMOUNT(), ANS());
-
-CEPH_TYPE(ceph_conf_read_file, REQ_CMOUNT(uint16_t path;), ANS());
-
-CEPH_TYPE(ceph_conf_get, REQ_CMOUNT(uint32_t size; uint16_t option;),
-         ANS(uint16_t value;));
-
-CEPH_TYPE(ceph_conf_set, REQ_CMOUNT(uint16_t option; uint16_t value;), ANS());
-
-CEPH_TYPE(ceph_init, REQ_CMOUNT(), ANS());
-
-CEPH_TYPE(ceph_select_filesystem, REQ_CMOUNT(uint16_t fs;), ANS());
-
-CEPH_TYPE(ceph_mount, REQ_CMOUNT(uint16_t root;), ANS());
-
-CEPH_TYPE(ceph_unmount, REQ_CMOUNT(), ANS());
-
-CEPH_TYPE(ceph_ll_statfs, REQ_CMOUNT(uint64_t inode;), ANS());
+CEPH_TYPE(ceph_version,
+       REQ(
+       ),
+       ANS(
+               int32_t major;
+               int32_t minor;
+               int32_t patch;
+               int16_t text;
+       )
+);
+
+CEPH_TYPE(ceph_userperm_new,
+       REQ(
+               uint32_t uid;
+               uint32_t gid;
+               uint32_t groups;
+       ),
+       ANS(
+               uint64_t userperm;
+       )
+);
+
+CEPH_TYPE(ceph_userperm_destroy,
+       REQ(
+               uint64_t userperm;
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_create,
+       REQ(
+               int16_t id;
+       ),
+       ANS_CMOUNT(
+       )
+);
+
+CEPH_TYPE(ceph_release,
+       REQ_CMOUNT(
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_conf_read_file,
+       REQ_CMOUNT(
+               uint16_t path;
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_conf_get,
+       REQ_CMOUNT(
+               uint32_t size;
+               uint16_t option;
+       ),
+       ANS(
+               uint16_t value;
+       )
+);
+
+CEPH_TYPE(ceph_conf_set,
+       REQ_CMOUNT(
+               uint16_t option;
+               uint16_t value;
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_init,
+       REQ_CMOUNT(
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_select_filesystem,
+       REQ_CMOUNT(
+               uint16_t fs;
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_mount,
+       REQ_CMOUNT(
+               uint16_t root;
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_unmount,
+       REQ_CMOUNT(
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_ll_statfs,
+       REQ_CMOUNT(
+               uint64_t inode;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_lookup,
-         REQ_CMOUNT(uint64_t userperm; uint64_t parent; uint32_t want;
-                    uint32_t flags; uint16_t name;),
-         ANS(uint64_t inode;));
-
-CEPH_TYPE(ceph_ll_lookup_inode, REQ_CMOUNT(struct inodeno_t ino;),
-         ANS(uint64_t inode;));
-
-CEPH_TYPE(ceph_ll_lookup_root, REQ_CMOUNT(), ANS(uint64_t inode;));
-
-CEPH_TYPE(ceph_ll_put, REQ_CMOUNT(uint64_t inode;), ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t parent;
+               uint32_t want;
+               uint32_t flags;
+               uint16_t name;
+       ),
+       ANS(
+               uint64_t inode;
+       )
+);
+
+CEPH_TYPE(ceph_ll_lookup_inode,
+       REQ_CMOUNT(
+               struct inodeno_t ino;
+       ),
+       ANS(
+               uint64_t inode;
+       )
+);
+
+CEPH_TYPE(ceph_ll_lookup_root,
+       REQ_CMOUNT(
+       ),
+       ANS(
+               uint64_t inode;
+       )
+);
+
+CEPH_TYPE(ceph_ll_put,
+       REQ_CMOUNT(
+               uint64_t inode;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_walk,
-         REQ_CMOUNT(uint64_t userperm; uint32_t want; uint32_t flags;
-                    uint16_t path;),
-         ANS(uint64_t inode;));
-
-CEPH_TYPE(ceph_chdir, REQ_CMOUNT(uint16_t path;), ANS());
-
-CEPH_TYPE(ceph_getcwd, REQ_CMOUNT(), ANS(uint16_t path;));
-
-CEPH_TYPE(ceph_readdir, REQ_CMOUNT(uint64_t dir;), ANS(bool eod;));
-
-CEPH_TYPE(ceph_rewinddir, REQ_CMOUNT(uint64_t dir;), ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint32_t want;
+               uint32_t flags;
+               uint16_t path;
+       ),
+       ANS(
+               uint64_t inode;
+       )
+);
+
+CEPH_TYPE(ceph_chdir,
+       REQ_CMOUNT(
+               uint16_t path;
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_getcwd,
+       REQ_CMOUNT(
+       ),
+       ANS(
+               uint16_t path;
+       )
+);
+
+CEPH_TYPE(ceph_readdir,
+       REQ_CMOUNT(
+               uint64_t dir;
+       ),
+       ANS(
+               bool eod;
+       )
+);
+
+CEPH_TYPE(ceph_rewinddir,
+       REQ_CMOUNT(
+               uint64_t dir;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_open,
-         REQ_CMOUNT(uint64_t userperm; uint64_t inode; int32_t flags;),
-         ANS(uint64_t fh;));
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t inode;
+               int32_t flags;
+       ),
+       ANS(
+               uint64_t fh;
+       )
+);
 
 CEPH_TYPE(ceph_ll_create,
-         REQ_CMOUNT(uint64_t userperm; uint64_t parent; mode_t mode;
-                    int32_t oflags; uint32_t want; uint32_t flags;
-                    uint16_t name;),
-         ANS(uint64_t inode; uint64_t fh;));
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t parent;
+               mode_t mode;
+               int32_t oflags;
+               uint32_t want;
+               uint32_t flags;
+               uint16_t name;
+       ),
+       ANS(
+               uint64_t inode;
+               uint64_t fh;
+       )
+);
 
 CEPH_TYPE(ceph_ll_mknod,
-         REQ_CMOUNT(uint64_t userperm; uint64_t parent; mode_t mode;
-                    dev_t rdev; uint32_t want; uint32_t flags; uint16_t name;),
-         ANS(uint64_t inode;));
-
-CEPH_TYPE(ceph_ll_close, REQ_CMOUNT(uint64_t fh;), ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t parent;
+               mode_t mode;
+               dev_t rdev;
+               uint32_t want;
+               uint32_t flags;
+               uint16_t name;
+       ),
+       ANS(
+               uint64_t inode;
+       )
+);
+
+CEPH_TYPE(ceph_ll_close,
+       REQ_CMOUNT(
+               uint64_t fh;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_rename,
-         REQ_CMOUNT(uint64_t userperm; uint64_t old_parent;
-                    uint64_t new_parent; uint16_t old_name;
-                    uint16_t new_name;),
-         ANS());
-
-CEPH_TYPE(ceph_ll_lseek, REQ_CMOUNT(uint64_t fh; off_t offset; int32_t whence;),
-         ANS(off_t offset;));
-
-CEPH_TYPE(ceph_ll_read, REQ_CMOUNT(uint64_t fh; int64_t offset; uint64_t len;),
-         ANS());
-
-CEPH_TYPE(ceph_ll_write, REQ_CMOUNT(uint64_t fh; int64_t offset; uint64_t len;),
-         ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t old_parent;
+               uint64_t new_parent;
+               uint16_t old_name;
+               uint16_t new_name;
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_ll_lseek,
+       REQ_CMOUNT(
+               uint64_t fh;
+               off_t offset;
+               int32_t whence;
+       ),
+       ANS(
+               off_t offset;
+       )
+);
+
+CEPH_TYPE(ceph_ll_read,
+       REQ_CMOUNT(
+               uint64_t fh;
+               int64_t offset;
+               uint64_t len;
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_ll_write,
+       REQ_CMOUNT(
+               uint64_t fh;
+               int64_t offset;
+               uint64_t len;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_link,
-         REQ_CMOUNT(uint64_t userperm; uint64_t inode; uint64_t parent;
-                    uint16_t name;),
-         ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t inode;
+               uint64_t parent;
+               uint16_t name;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_unlink,
-         REQ_CMOUNT(uint64_t userperm; uint64_t parent; uint16_t name;),
-         ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t parent;
+               uint16_t name;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_getattr,
-         REQ_CMOUNT(uint64_t userperm; uint64_t inode; uint32_t want;
-                    uint32_t flags;),
-         ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t inode;
+               uint32_t want;
+               uint32_t flags;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_setattr,
-         REQ_CMOUNT(uint64_t userperm; uint64_t inode; int32_t mask;), ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t inode;
+               int32_t mask;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_fallocate,
-         REQ_CMOUNT(uint64_t fh; int64_t offset; int64_t length;
-                    int32_t mode;),
-         ANS());
-
-CEPH_TYPE(ceph_ll_fsync, REQ_CMOUNT(uint64_t fh; int32_t dataonly;), ANS());
+       REQ_CMOUNT(
+               uint64_t fh;
+               int64_t offset;
+               int64_t length;
+               int32_t mode;
+       ),
+       ANS(
+       )
+);
+
+CEPH_TYPE(ceph_ll_fsync,
+       REQ_CMOUNT(
+               uint64_t fh;
+               int32_t dataonly;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_listxattr,
-         REQ_CMOUNT(uint64_t userperm; uint64_t inode; size_t size;),
-         ANS(size_t size;));
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t inode;
+               size_t size;
+       ),
+       ANS(
+               size_t size;
+       )
+);
 
 CEPH_TYPE(ceph_ll_getxattr,
-         REQ_CMOUNT(uint64_t userperm; uint64_t inode; size_t size;
-                    uint16_t name;),
-         ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t inode;
+               size_t size;
+               uint16_t name;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_setxattr,
-         REQ_CMOUNT(uint64_t userperm; uint64_t inode; size_t size;
-                    int32_t flags; uint16_t name;),
-         ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t inode;
+               size_t size;
+               int32_t flags;
+               uint16_t name;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_removexattr,
-         REQ_CMOUNT(uint64_t userperm; uint64_t inode; uint16_t name;), ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t inode;
+               uint16_t name;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_readlink,
-         REQ_CMOUNT(uint64_t userperm; uint64_t inode; size_t size;), ANS());
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t inode;
+               size_t size;
+       ),
+       ANS(
+       )
+);
 
 CEPH_TYPE(ceph_ll_symlink,
-         REQ_CMOUNT(uint64_t userperm; uint64_t parent; uint32_t want;
-                    uint32_t flags; uint16_t name; uint16_t target;),
-         ANS(uint64_t inode;));
-
-CEPH_TYPE(ceph_ll_opendir, REQ_CMOUNT(uint64_t userperm; uint64_t inode;),
-         ANS(uint64_t dir;));
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t parent;
+               uint32_t want;
+               uint32_t flags;
+               uint16_t name;
+               uint16_t target;
+       ),
+       ANS(
+               uint64_t inode;
+       )
+);
+
+CEPH_TYPE(ceph_ll_opendir,
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t inode;
+       ),
+       ANS(
+               uint64_t dir;
+       )
+);
 
 CEPH_TYPE(ceph_ll_mkdir,
-         REQ_CMOUNT(uint64_t userperm; uint64_t parent; mode_t mode;
-                    uint32_t want; uint32_t flags; uint16_t name;),
-         ANS(uint64_t inode;));
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t parent;
+               mode_t mode;
+               uint32_t want;
+               uint32_t flags;
+               uint16_t name;
+       ),
+       ANS(
+               uint64_t inode;
+       )
+);
 
 CEPH_TYPE(ceph_ll_rmdir,
-         REQ_CMOUNT(uint64_t userperm; uint64_t parent; uint16_t name;),
-         ANS());
-
-CEPH_TYPE(ceph_ll_releasedir, REQ_CMOUNT(uint64_t dir;), ANS());
-
-CEPH_TYPE(ceph_mount_perms, REQ_CMOUNT(), ANS(uint64_t userperm;));
+       REQ_CMOUNT(
+               uint64_t userperm;
+               uint64_t parent;
+               uint16_t name;
+       ),
+       ANS(
+       )
+);
+
+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;));
+       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;
@@ -371,7 +696,11 @@ typedef union _proxy_req {
 } proxy_req_t;
 
 CEPH_TYPE_CBK(ceph_ll_nonblocking_readv_writev,
-             CBK(uint64_t info; int64_t res;));
+       CBK(
+               uint64_t info;
+               int64_t res;
+       )
+);
 
 typedef union _proxy_cbk {
        proxy_link_req_t header;