diff options
author | Amar Tumballi <amarts@redhat.com> | 2017-12-22 13:12:42 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2018-01-19 22:48:39 +0530 |
commit | 303cc2b54797bc5371be742543ccb289010c92f2 (patch) | |
tree | cf383488d0edff81b012b5e908f8ebca7affaea3 /xlators/protocol/server/src/server-common.h | |
parent | 9eefff096fd9b54120e4347b6b00f10a6c502cf4 (diff) |
protocol: make on-wire-change of protocol using new XDR definition.
With this patchset, some major things are changed in XDR, mainly:
* Naming: Instead of gfs3/gfs4 settle for gfx_ for xdr structures
* add iattx as a separate structure, and add conversion methods
* the *_rsp structure is now changed, and is also reduced in number
(ie, no need for different strucutes if it is similar to other response).
* use proper XDR methods for sending dict on wire.
Also, with the change of xdr structure, there are changes needed
outside of xlator protocol layer to handle these properly. Mainly
because the abstraction was broken to support 0-copy RDMA with payload
for write and read FOP. This made transport layer know about the xdr
payload, hence with the change of xdr payload structure, transport layer
needed to know about the change.
Updates #384
Change-Id: I1448fbe9deab0a1b06cb8351f2f37488cefe461f
Signed-off-by: Amar Tumballi <amarts@redhat.com>
Diffstat (limited to 'xlators/protocol/server/src/server-common.h')
-rw-r--r-- | xlators/protocol/server/src/server-common.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/xlators/protocol/server/src/server-common.h b/xlators/protocol/server/src/server-common.h index 3fa972e68db..e272235a192 100644 --- a/xlators/protocol/server/src/server-common.h +++ b/xlators/protocol/server/src/server-common.h @@ -135,3 +135,74 @@ server_post_lookup (gfs3_lookup_rsp *rsp, call_frame_t *frame, void server_post_lease (gfs3_lease_rsp *rsp, struct gf_lease *lease); + +void +server4_post_readlink (gfx_readlink_rsp *rsp, struct iatt *stbuf, + const char *buf); + +void +server4_post_statfs (gfx_statfs_rsp *rsp, struct statvfs *stbuf); + +void +server4_post_lk (xlator_t *this, gfx_lk_rsp *rsp, struct gf_flock *lock); + +int +server4_post_readdir (gfx_readdir_rsp *rsp, gf_dirent_t *entries); + +void +server4_post_seek (gfx_seek_rsp *rsp, off_t offset); + +int +server4_post_readdirp (gfx_readdirp_rsp *rsp, gf_dirent_t *entries); + +void +server4_post_rchecksum (gfx_rchecksum_rsp *rsp, uint32_t weak_checksum, + uint8_t *strong_checksum); + +void +server4_post_rename (call_frame_t *frame, server_state_t *state, + gfx_rename_rsp *rsp, + struct iatt *stbuf, + struct iatt *preoldparent, + struct iatt *postoldparent, + struct iatt *prenewparent, + struct iatt *postnewparent); + +int +server4_post_open (call_frame_t *frame, xlator_t *this, + gfx_open_rsp *rsp, fd_t *fd); +void +server4_post_readv (gfx_read_rsp *rsp, struct iatt *stbuf, int op_ret); + +int +server4_post_create (call_frame_t *frame, gfx_create_rsp *rsp, + server_state_t *state, + xlator_t *this, fd_t *fd, inode_t *inode, + struct iatt *stbuf, struct iatt *preparent, + struct iatt *postparent); + +void +server4_post_common_2iatt (gfx_common_2iatt_rsp *rsp, + struct iatt *stbuf1, struct iatt *stbuf2); + +void +server4_post_entry_remove (server_state_t *state, gfx_common_2iatt_rsp *rsp, + struct iatt *stbuf1, struct iatt *stbuf2); + +void +server4_post_common_3iatt (server_state_t *state, gfx_common_3iatt_rsp *rsp, + inode_t *inode, struct iatt *stbuf, struct iatt *pre, + struct iatt *post); +void +server4_post_common_iatt (server_state_t *state, gfx_common_iatt_rsp *rsp, + struct iatt *stbuf); +void +server4_post_lease (gfx_lease_rsp *rsp, struct gf_lease *lease); +void +server4_post_lookup (gfx_common_2iatt_rsp *rsp, call_frame_t *frame, + server_state_t *state, + inode_t *inode, struct iatt *stbuf); +void +server4_post_link (server_state_t *state, gfx_common_3iatt_rsp *rsp, + inode_t *inode, struct iatt *stbuf, struct iatt *pre, + struct iatt *post); |