summaryrefslogtreecommitdiffstats
path: root/xlators/protocol/server/src/server-rpc-fops.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/protocol/server/src/server-rpc-fops.c')
-rw-r--r--xlators/protocol/server/src/server-rpc-fops.c870
1 files changed, 421 insertions, 449 deletions
diff --git a/xlators/protocol/server/src/server-rpc-fops.c b/xlators/protocol/server/src/server-rpc-fops.c
index a7995b4c3..59e808b2f 100644
--- a/xlators/protocol/server/src/server-rpc-fops.c
+++ b/xlators/protocol/server/src/server-rpc-fops.c
@@ -20,8 +20,6 @@
#include "server-helpers.h"
#include "glusterfs3-xdr.h"
#include "glusterfs3.h"
-#include "client_t.h"
-#include "lock-table.h"
#include "compat-errno.h"
#include "xdr-nfs3.h"
@@ -41,9 +39,7 @@ server_statfs_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
gfs3_statfs_rsp rsp = {0,};
rpcsvc_request_t *req = NULL;
- req = frame->local;
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
@@ -58,7 +54,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
-
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_statfs_rsp);
@@ -81,8 +77,7 @@ server_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
gfs3_lookup_rsp rsp = {0,};
uuid_t rootgfid = {0,};
- req = frame->local;
- state = CALL_STATE(frame);
+ state = CALL_STATE (frame);
if (state->is_revalidate == 1 && op_ret == -1) {
state->is_revalidate = 2;
@@ -90,8 +85,9 @@ server_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
inode_unref (fresh_loc.inode);
fresh_loc.inode = inode_new (state->itable);
- STACK_WIND (frame, server_lookup_cbk, BOUND_XL (frame),
- BOUND_XL (frame)->fops->lookup,
+ STACK_WIND (frame, server_lookup_cbk,
+ frame->root->client->bound_xl,
+ frame->root->client->bound_xl->fops->lookup,
&fresh_loc, state->xdata);
loc_wipe (&fresh_loc);
@@ -100,7 +96,7 @@ server_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
gf_stat_from_iatt (&rsp.postparent, postparent);
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
@@ -114,7 +110,7 @@ server_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
- root_inode = BOUND_XL(frame)->itable->root;
+ root_inode = frame->root->client->bound_xl->itable->root;
if (inode == root_inode) {
/* we just looked up root ("/") */
stbuf->ia_ino = 1;
@@ -159,6 +155,7 @@ out:
}
}
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_lookup_rsp);
@@ -177,14 +174,12 @@ server_lk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
rpcsvc_request_t *req = NULL;
server_state_t *state = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
if ((op_errno != ENOSYS) && (op_errno != EAGAIN)) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": LK %"PRId64" (%s) ==> "
"(%s)", frame->root->unique,
@@ -217,6 +212,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_lk_rsp);
@@ -230,15 +226,15 @@ int
server_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int32_t op_ret, int32_t op_errno, dict_t *xdata)
{
- gf_common_rsp rsp = {0,};
- server_state_t *state = NULL;
- rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
+ gf_common_rsp rsp = {0,};
+ server_state_t *state = NULL;
+ rpcsvc_request_t *req = NULL;
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret < 0) {
if ((op_errno != ENOSYS) && (op_errno != EAGAIN)) {
gf_log (this->name, GF_LOG_INFO,
@@ -250,21 +246,11 @@ server_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
- if (state->flock.l_type == F_UNLCK)
- gf_del_locker (state->client->locks_ctx.ltable,
- state->volume, &state->loc, NULL,
- &frame->root->lk_owner,
- GF_FOP_INODELK);
- else
- gf_add_locker (state->client->locks_ctx.ltable,
- state->volume, &state->loc, NULL,
- frame->root->pid, &frame->root->lk_owner,
- GF_FOP_INODELK);
-
out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -278,16 +264,15 @@ int
server_finodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int32_t op_ret, int32_t op_errno, dict_t *xdata)
{
- gf_common_rsp rsp = {0,};
- server_state_t *state = NULL;
- rpcsvc_request_t *req = NULL;
-
- req = frame->local;
- state = CALL_STATE(frame);
+ gf_common_rsp rsp = {0,};
+ server_state_t *state = NULL;
+ rpcsvc_request_t *req = NULL;
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret < 0) {
if ((op_errno != ENOSYS) && (op_errno != EAGAIN)) {
gf_log (this->name, GF_LOG_INFO,
@@ -300,21 +285,11 @@ server_finodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
- if (state->flock.l_type == F_UNLCK)
- gf_del_locker (state->client->locks_ctx.ltable,
- state->volume, NULL, state->fd,
- &frame->root->lk_owner,
- GF_FOP_INODELK);
- else
- gf_add_locker (state->client->locks_ctx.ltable,
- state->volume, NULL, state->fd,
- frame->root->pid, &frame->root->lk_owner,
- GF_FOP_INODELK);
-
out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -327,16 +302,15 @@ int
server_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int32_t op_ret, int32_t op_errno, dict_t *xdata)
{
- server_state_t *state = NULL;
- rpcsvc_request_t *req = NULL;
- gf_common_rsp rsp = {0,};
+ gf_common_rsp rsp = {0,};
+ server_state_t *state = NULL;
+ rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret < 0) {
if ((op_errno != ENOSYS) && (op_errno != EAGAIN)) {
gf_log (this->name, GF_LOG_INFO,
@@ -348,21 +322,11 @@ server_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
- if (state->cmd == ENTRYLK_UNLOCK)
- gf_del_locker (state->client->locks_ctx.ltable,
- state->volume, &state->loc, NULL,
- &frame->root->lk_owner,
- GF_FOP_ENTRYLK);
- else
- gf_add_locker (state->client->locks_ctx.ltable,
- state->volume, &state->loc, NULL,
- frame->root->pid, &frame->root->lk_owner,
- GF_FOP_ENTRYLK);
-
out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -376,16 +340,15 @@ int
server_fentrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int32_t op_ret, int32_t op_errno, dict_t *xdata)
{
- gf_common_rsp rsp = {0,};
- server_state_t *state = NULL;
- rpcsvc_request_t *req = NULL;
+ gf_common_rsp rsp = {0,};
+ server_state_t *state = NULL;
+ rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret < 0) {
if ((op_errno != ENOSYS) && (op_errno != EAGAIN)) {
gf_log (this->name, GF_LOG_INFO,
@@ -397,21 +360,11 @@ server_fentrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
- if (state->cmd == ENTRYLK_UNLOCK)
- gf_del_locker (state->client->locks_ctx.ltable,
- state->volume, NULL, state->fd,
- &frame->root->lk_owner,
- GF_FOP_ENTRYLK);
- else
- gf_add_locker (state->client->locks_ctx.ltable,
- state->volume, NULL, state->fd,
- frame->root->pid, &frame->root->lk_owner,
- GF_FOP_ENTRYLK);
-
out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -429,13 +382,11 @@ server_access_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
rpcsvc_request_t *req = NULL;
server_state_t *state = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": ACCESS %s (%s) ==> (%s)",
frame->root->unique, state->loc.path,
@@ -448,6 +399,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -466,12 +418,11 @@ server_rmdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
inode_t *parent = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret) {
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": RMDIR %s (%s/%s) ==> (%s)",
@@ -500,6 +451,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_rmdir_rsp);
@@ -519,12 +471,11 @@ server_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
inode_t *link_inode = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret < 0) {
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": MKDIR %s (%s/%s) ==> (%s)",
@@ -547,6 +498,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_mkdir_rsp);
@@ -566,12 +518,11 @@ server_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
inode_t *link_inode = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret < 0) {
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": MKNOD %s (%s/%s) ==> (%s)",
@@ -594,6 +545,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_mknod_rsp);
@@ -610,13 +562,11 @@ server_fsyncdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": FSYNCDIR %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -629,6 +579,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -647,13 +598,11 @@ server_readdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
rpcsvc_request_t *req = NULL;
int ret = 0;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": READDIR %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -676,6 +625,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_readdir_rsp);
@@ -690,18 +640,17 @@ int
server_opendir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int32_t op_ret, int32_t op_errno, fd_t *fd, dict_t *xdata)
{
- server_state_t *state = NULL;
- rpcsvc_request_t *req = NULL;
- gfs3_opendir_rsp rsp = {0,};
- uint64_t fd_no = 0;
-
- req = frame->local;
- state = CALL_STATE (frame);
+ server_state_t *state = NULL;
+ server_ctx_t *serv_ctx = NULL;
+ rpcsvc_request_t *req = NULL;
+ gfs3_opendir_rsp rsp = {0,};
+ uint64_t fd_no = 0;
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": OPENDIR %s (%s) ==> (%s)",
frame->root->unique, state->loc.path,
@@ -709,8 +658,14 @@ server_opendir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
+ serv_ctx = server_ctx_get (frame->root->client, this);
+ if (serv_ctx == NULL) {
+ gf_log (this->name, GF_LOG_INFO, "server_ctx_get() failed");
+ goto out;
+ }
+
fd_bind (fd);
- fd_no = gf_fd_unused_get (state->client->server_ctx.fdtable, fd);
+ fd_no = gf_fd_unused_get (serv_ctx->fdtable, fd);
fd_ref (fd); // on behalf of the client
out:
@@ -718,6 +673,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_opendir_rsp);
@@ -734,13 +690,11 @@ server_removexattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
rpcsvc_request_t *req = NULL;
server_state_t *state = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret == -1) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": REMOVEXATTR %s (%s) of key %s ==> (%s)",
frame->root->unique, state->loc.path,
@@ -753,6 +707,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -769,13 +724,11 @@ server_fremovexattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
rpcsvc_request_t *req = NULL;
server_state_t *state = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret == -1) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": FREMOVEXATTR %"PRId64" (%s) (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -788,6 +741,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -805,13 +759,11 @@ server_getxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
rpcsvc_request_t *req = NULL;
server_state_t *state = NULL;
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret == -1) {
+ state = CALL_STATE (frame);
gf_log (this->name, (((op_errno == ENOTSUP) ||
(op_errno == ENODATA) ||
(op_errno == ENOENT)) ?
@@ -823,13 +775,14 @@ server_getxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
- GF_PROTOCOL_DICT_SERIALIZE (this, dict, (&rsp.dict.dict_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, dict, &rsp.dict.dict_val,
rsp.dict.dict_len, op_errno, out);
out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_getxattr_rsp);
@@ -850,13 +803,11 @@ server_fgetxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret == -1) {
+ state = CALL_STATE (frame);
gf_log (this->name, ((op_errno == ENOTSUP) ?
GF_LOG_DEBUG : GF_LOG_INFO),
"%"PRId64": FGETXATTR %"PRId64" (%s) (%s) ==> (%s)",
@@ -866,7 +817,7 @@ server_fgetxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
- GF_PROTOCOL_DICT_SERIALIZE (this, dict, (&rsp.dict.dict_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, dict, &rsp.dict.dict_val,
rsp.dict.dict_len, op_errno, out);
out:
@@ -874,6 +825,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_fgetxattr_rsp);
@@ -893,7 +845,7 @@ _gf_server_log_setxattr_failure (dict_t *d, char *k, data_t *v,
call_frame_t *frame = NULL;
frame = tmp;
- state = CALL_STATE(frame);
+ state = CALL_STATE (frame);
gf_log (THIS->name, GF_LOG_INFO,
"%"PRId64": SETXATTR %s (%s) ==> %s",
@@ -910,13 +862,11 @@ server_setxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
rpcsvc_request_t *req = NULL;
server_state_t *state = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret == -1) {
+ state = CALL_STATE (frame);
if (op_errno != ENOTSUP)
dict_foreach (state->dict,
_gf_server_log_setxattr_failure,
@@ -932,6 +882,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -949,7 +900,7 @@ _gf_server_log_fsetxattr_failure (dict_t *d, char *k, data_t *v,
server_state_t *state = NULL;
frame = tmp;
- state = CALL_STATE(frame);
+ state = CALL_STATE (frame);
gf_log (THIS->name, GF_LOG_INFO,
"%"PRId64": FSETXATTR %"PRId64" (%s) ==> %s",
@@ -967,13 +918,11 @@ server_fsetxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
rpcsvc_request_t *req = NULL;
server_state_t *state = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret == -1) {
+ state = CALL_STATE (frame);
if (op_errno != ENOTSUP) {
dict_foreach (state->dict,
_gf_server_log_fsetxattr_failure,
@@ -989,6 +938,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -1012,12 +962,11 @@ server_rename_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
char oldpar_str[50] = {0,};
char newpar_str[50] = {0,};
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret == -1) {
uuid_utoa_r (state->resolve.gfid, oldpar_str);
uuid_utoa_r (state->resolve2.gfid, newpar_str);
@@ -1032,7 +981,7 @@ server_rename_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
stbuf->ia_type = state->loc.inode->ia_type;
/* TODO: log gfid of the inodes */
- gf_log (state->client->bound_xl->name, GF_LOG_TRACE,
+ gf_log (frame->root->client->bound_xl->name, GF_LOG_TRACE,
"%"PRId64": RENAME_CBK %s ==> %s",
frame->root->unique, state->loc.name, state->loc2.name);
@@ -1074,6 +1023,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_rename_rsp);
@@ -1092,12 +1042,11 @@ server_unlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
inode_t *parent = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret) {
gf_log (this->name, (op_errno == ENOENT)?
GF_LOG_DEBUG:GF_LOG_ERROR,
@@ -1109,7 +1058,7 @@ server_unlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
}
/* TODO: log gfid of the inodes */
- gf_log (state->client->bound_xl->name, GF_LOG_TRACE,
+ gf_log (frame->root->client->bound_xl->name, GF_LOG_TRACE,
"%"PRId64": UNLINK_CBK %s",
frame->root->unique, state->loc.name);
@@ -1129,6 +1078,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_unlink_rsp);
@@ -1148,12 +1098,11 @@ server_symlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
inode_t *link_inode = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret < 0) {
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": SYMLINK %s (%s/%s) ==> (%s)",
@@ -1176,6 +1125,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_symlink_rsp);
@@ -1198,12 +1148,11 @@ server_link_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
char gfid_str[50] = {0,};
char newpar_str[50] = {0,};
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret) {
uuid_utoa_r (state->resolve.gfid, gfid_str);
uuid_utoa_r (state->resolve2.pargfid, newpar_str);
@@ -1228,6 +1177,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_link_rsp);
@@ -1245,13 +1195,11 @@ server_truncate_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": TRUNCATE %s (%s) ==> (%s)",
frame->root->unique, state->loc.path,
@@ -1266,6 +1214,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_truncate_rsp);
@@ -1283,13 +1232,11 @@ server_fstat_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": FSTAT %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -1303,6 +1250,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_fstat_rsp);
@@ -1320,13 +1268,11 @@ server_ftruncate_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": FTRUNCATE %"PRId64" (%s)==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -1341,6 +1287,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_ftruncate_rsp);
@@ -1357,13 +1304,11 @@ server_flush_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": FLUSH %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -1375,6 +1320,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -1392,13 +1338,11 @@ server_fsync_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": FSYNC %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -1413,6 +1357,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_fsync_rsp);
@@ -1430,13 +1375,11 @@ server_writev_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": WRITEV %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -1451,6 +1394,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_write_rsp);
@@ -1470,9 +1414,6 @@ server_readv_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
#ifdef GF_TESTING_IO_XDATA
{
int ret = 0;
@@ -1483,10 +1424,11 @@ server_readv_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
"testing-xdata-value");
}
#endif
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": READV %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -1501,6 +1443,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, vector, count, iobref,
(xdrproc_t)xdr_gfs3_read_rsp);
@@ -1519,13 +1462,11 @@ server_rchecksum_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
rpcsvc_request_t *req = NULL;
server_state_t *state = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": RCHECKSUM %"PRId64" (%s)==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -1542,6 +1483,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_rchecksum_rsp);
@@ -1555,18 +1497,17 @@ int
server_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int32_t op_ret, int32_t op_errno, fd_t *fd, dict_t *xdata)
{
- server_state_t *state = NULL;
- rpcsvc_request_t *req = NULL;
- uint64_t fd_no = 0;
- gfs3_open_rsp rsp = {0,};
-
- req = frame->local;
- state = CALL_STATE (frame);
+ server_state_t *state = NULL;
+ server_ctx_t *serv_ctx = NULL;
+ rpcsvc_request_t *req = NULL;
+ uint64_t fd_no = 0;
+ gfs3_open_rsp rsp = {0,};
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": OPEN %s (%s) ==> (%s)",
frame->root->unique, state->loc.path,
@@ -1575,8 +1516,14 @@ server_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
+ serv_ctx = server_ctx_get (frame->root->client, this);
+ if (serv_ctx == NULL) {
+ gf_log (this->name, GF_LOG_INFO, "server_ctx_get() failed");
+ goto out;
+ }
+
fd_bind (fd);
- fd_no = gf_fd_unused_get (state->client->server_ctx.fdtable, fd);
+ fd_no = gf_fd_unused_get (serv_ctx->fdtable, fd);
fd_ref (fd);
rsp.fd = fd_no;
@@ -1584,6 +1531,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_open_rsp);
GF_FREE (rsp.xdata.xdata_val);
@@ -1599,17 +1547,17 @@ server_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
struct iatt *postparent, dict_t *xdata)
{
server_state_t *state = NULL;
+ server_ctx_t *serv_ctx = NULL;
inode_t *link_inode = NULL;
rpcsvc_request_t *req = NULL;
uint64_t fd_no = 0;
gfs3_create_rsp rsp = {0,};
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
+ state = CALL_STATE (frame);
+
if (op_ret < 0) {
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": CREATE %s (%s/%s) ==> (%s)",
@@ -1620,7 +1568,7 @@ server_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
}
/* TODO: log gfid too */
- gf_log (state->client->bound_xl->name, GF_LOG_TRACE,
+ gf_log (frame->root->client->bound_xl->name, GF_LOG_TRACE,
"%"PRId64": CREATE %s (%s)",
frame->root->unique, state->loc.name,
uuid_utoa (stbuf->ia_gfid));
@@ -1647,9 +1595,14 @@ server_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
inode_lookup (link_inode);
inode_unref (link_inode);
- fd_bind (fd);
+ serv_ctx = server_ctx_get (frame->root->client, this);
+ if (serv_ctx == NULL) {
+ gf_log (this->name, GF_LOG_INFO, "server_ctx_get() failed");
+ goto out;
+ }
- fd_no = gf_fd_unused_get (state->client->server_ctx.fdtable, fd);
+ fd_bind (fd);
+ fd_no = gf_fd_unused_get (serv_ctx->fdtable, fd);
fd_ref (fd);
if ((fd_no < 0) || (fd == 0)) {
@@ -1666,6 +1619,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_create_rsp);
@@ -1683,13 +1637,11 @@ server_readlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": READLINK %s (%s) ==> (%s)",
frame->root->unique, state->loc.path,
@@ -1708,6 +1660,7 @@ out:
if (!rsp.path)
rsp.path = "";
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_readlink_rsp);
@@ -1725,13 +1678,11 @@ server_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": STAT %s (%s) ==> (%s)",
frame->root->unique, state->loc.path,
@@ -1746,6 +1697,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_stat_rsp);
@@ -1764,13 +1716,11 @@ server_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": SETATTR %s (%s) ==> (%s)",
frame->root->unique, state->loc.path,
@@ -1786,6 +1736,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_setattr_rsp);
@@ -1803,13 +1754,11 @@ server_fsetattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": FSETATTR %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -1825,6 +1774,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_fsetattr_rsp);
@@ -1843,13 +1793,11 @@ server_xattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": XATTROP %s (%s) ==> (%s)",
frame->root->unique, state->loc.path,
@@ -1858,13 +1806,14 @@ server_xattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
- GF_PROTOCOL_DICT_SERIALIZE (this, dict, (&rsp.dict.dict_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, dict, &rsp.dict.dict_val,
rsp.dict.dict_len, op_errno, out);
out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_xattrop_rsp);
@@ -1885,13 +1834,11 @@ server_fxattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": FXATTROP %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -1900,13 +1847,14 @@ server_fxattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
goto out;
}
- GF_PROTOCOL_DICT_SERIALIZE (this, dict, (&rsp.dict.dict_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, dict, &rsp.dict.dict_val,
rsp.dict.dict_len, op_errno, out);
out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_fxattrop_rsp);
@@ -1928,13 +1876,11 @@ server_readdirp_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
rpcsvc_request_t *req = NULL;
int ret = 0;
- req = frame->local;
- state = CALL_STATE(frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret < 0) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": READDIRP %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -1960,6 +1906,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply (frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gfs3_readdirp_rsp);
@@ -1979,13 +1926,11 @@ server_fallocate_cbk(call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": FALLOCATE %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -2001,6 +1946,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply(frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t) xdr_gfs3_fallocate_rsp);
@@ -2018,13 +1964,11 @@ server_discard_cbk(call_frame_t *frame, void *cookie, xlator_t *this,
server_state_t *state = NULL;
rpcsvc_request_t *req = NULL;
- req = frame->local;
- state = CALL_STATE (frame);
-
- GF_PROTOCOL_DICT_SERIALIZE (this, xdata, (&rsp.xdata.xdata_val),
+ GF_PROTOCOL_DICT_SERIALIZE (this, xdata, &rsp.xdata.xdata_val,
rsp.xdata.xdata_len, op_errno, out);
if (op_ret) {
+ state = CALL_STATE (frame);
gf_log (this->name, GF_LOG_INFO,
"%"PRId64": DISCARD %"PRId64" (%s) ==> (%s)",
frame->root->unique, state->resolve.fd_no,
@@ -2040,6 +1984,7 @@ out:
rsp.op_ret = op_ret;
rsp.op_errno = gf_errno_to_error (op_errno);
+ req = frame->local;
server_submit_reply(frame, req, &rsp, NULL, 0, NULL,
(xdrproc_t) xdr_gfs3_discard_rsp);
@@ -2224,7 +2169,7 @@ server_fentrylk_resume (call_frame_t *frame, xlator_t *bound_xl)
if (state->xdata)
ret = dict_set_str (state->xdata, "connection-id",
- state->client->server_ctx.client_uid);
+ frame->root->client->client_uid);
STACK_WIND (frame, server_fentrylk_cbk, bound_xl,
bound_xl->fops->fentrylk,
@@ -2255,7 +2200,7 @@ server_entrylk_resume (call_frame_t *frame, xlator_t *bound_xl)
if (state->xdata)
ret = dict_set_str (state->xdata, "connection-id",
- state->client->server_ctx.client_uid);
+ frame->root->client->client_uid);
STACK_WIND (frame, server_entrylk_cbk,
bound_xl, bound_xl->fops->entrylk,
@@ -2275,6 +2220,9 @@ server_finodelk_resume (call_frame_t *frame, xlator_t *bound_xl)
GF_UNUSED int ret = -1;
server_state_t *state = NULL;
+ gf_log (bound_xl->name, GF_LOG_WARNING, "frame %p, xlator %p",
+ frame, bound_xl);
+
state = CALL_STATE (frame);
if (state->resolve.op_ret != 0)
@@ -2285,7 +2233,7 @@ server_finodelk_resume (call_frame_t *frame, xlator_t *bound_xl)
if (state->xdata)
ret = dict_set_str (state->xdata, "connection-id",
- state->client->server_ctx.client_uid);
+ frame->root->client->client_uid);
STACK_WIND (frame, server_finodelk_cbk, bound_xl,
bound_xl->fops->finodelk, state->volume, state->fd,
@@ -2305,6 +2253,9 @@ server_inodelk_resume (call_frame_t *frame, xlator_t *bound_xl)
GF_UNUSED int ret = -1;
server_state_t *state = NULL;
+ gf_log (bound_xl->name, GF_LOG_WARNING, "frame %p, xlator %p",
+ frame, bound_xl);
+
state = CALL_STATE (frame);
if (state->resolve.op_ret != 0)
@@ -2315,7 +2266,7 @@ server_inodelk_resume (call_frame_t *frame, xlator_t *bound_xl)
if (state->xdata)
ret = dict_set_str (state->xdata, "connection-id",
- state->client->server_ctx.client_uid);
+ frame->root->client->client_uid);
STACK_WIND (frame, server_inodelk_cbk, bound_xl,
bound_xl->fops->inodelk, state->volume, &state->loc,
@@ -3100,7 +3051,7 @@ server3_3_stat (rpcsvc_request_t *req)
frame->root->op = GF_FOP_STAT;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3109,10 +3060,10 @@ server3_3_stat (rpcsvc_request_t *req)
state->resolve.type = RESOLVE_MUST;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
@@ -3158,7 +3109,7 @@ server3_3_setattr (rpcsvc_request_t *req)
frame->root->op = GF_FOP_SETATTR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3170,10 +3121,10 @@ server3_3_setattr (rpcsvc_request_t *req)
gf_stat_to_iatt (&args.stbuf, &state->stbuf);
state->valid = args.valid;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -3217,7 +3168,7 @@ server3_3_fsetattr (rpcsvc_request_t *req)
frame->root->op = GF_FOP_FSETATTR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3229,10 +3180,10 @@ server3_3_fsetattr (rpcsvc_request_t *req)
gf_stat_to_iatt (&args.stbuf, &state->stbuf);
state->valid = args.valid;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -3276,7 +3227,7 @@ server3_3_fallocate(rpcsvc_request_t *req)
frame->root->op = GF_FOP_FALLOCATE;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3290,9 +3241,10 @@ server3_3_fallocate(rpcsvc_request_t *req)
state->size = args.size;
memcpy(state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl, state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
+ state->xdata,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -3337,7 +3289,7 @@ server3_3_discard(rpcsvc_request_t *req)
frame->root->op = GF_FOP_DISCARD;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3350,9 +3302,10 @@ server3_3_discard(rpcsvc_request_t *req)
state->size = args.size;
memcpy(state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl, state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
+ state->xdata,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -3397,7 +3350,7 @@ server3_3_readlink (rpcsvc_request_t *req)
frame->root->op = GF_FOP_READLINK;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3408,10 +3361,10 @@ server3_3_readlink (rpcsvc_request_t *req)
state->size = args.size;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -3458,7 +3411,7 @@ server3_3_create (rpcsvc_request_t *req)
frame->root->op = GF_FOP_CREATE;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3478,10 +3431,10 @@ server3_3_create (rpcsvc_request_t *req)
}
/* TODO: can do alloca for xdata field instead of stdalloc */
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -3526,7 +3479,7 @@ server3_3_open (rpcsvc_request_t *req)
frame->root->op = GF_FOP_OPEN;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3537,10 +3490,10 @@ server3_3_open (rpcsvc_request_t *req)
state->flags = gf_flags_to_flags (args.flags);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -3583,7 +3536,7 @@ server3_3_readv (rpcsvc_request_t *req)
frame->root->op = GF_FOP_READ;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3597,10 +3550,10 @@ server3_3_readv (rpcsvc_request_t *req)
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -3647,7 +3600,7 @@ server3_3_writev (rpcsvc_request_t *req)
frame->root->op = GF_FOP_WRITE;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3677,10 +3630,10 @@ server3_3_writev (rpcsvc_request_t *req)
state->size += state->payload_vector[i].iov_len;
}
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
#ifdef GF_TESTING_IO_XDATA
@@ -3759,10 +3712,11 @@ server3_3_writev_vecsizer (int state, ssize_t *readsize, char *base_addr,
int
server3_3_release (rpcsvc_request_t *req)
{
- client_t *client;
- gfs3_release_req args = {{0,},};
- gf_common_rsp rsp = {0,};
- int ret = -1;
+ client_t *client = NULL;
+ server_ctx_t *serv_ctx = NULL;
+ gfs3_release_req args = {{0,},};
+ gf_common_rsp rsp = {0,};
+ int ret = -1;
ret = xdr_to_generic (req->msg[0], &args,
(xdrproc_t)xdr_gfs3_release_req);
@@ -3778,7 +3732,16 @@ server3_3_release (rpcsvc_request_t *req)
req->rpc_err = SYSTEM_ERR;
goto out;
}
- gf_fd_put (client->server_ctx.fdtable, args.fd);
+
+ serv_ctx = server_ctx_get (client, client->this);
+ if (serv_ctx == NULL) {
+ gf_log (req->trans->name, GF_LOG_INFO,
+ "server_ctx_get() failed");
+ req->rpc_err = SYSTEM_ERR;
+ goto out;
+ }
+
+ gf_fd_put (serv_ctx->fdtable, args.fd);
server_submit_reply (NULL, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -3791,10 +3754,11 @@ out:
int
server3_3_releasedir (rpcsvc_request_t *req)
{
- client_t *client = NULL;
- gfs3_releasedir_req args = {{0,},};
- gf_common_rsp rsp = {0,};
- int ret = -1;
+ client_t *client = NULL;
+ server_ctx_t *serv_ctx = NULL;
+ gfs3_releasedir_req args = {{0,},};
+ gf_common_rsp rsp = {0,};
+ int ret = -1;
ret = xdr_to_generic (req->msg[0], &args,
(xdrproc_t)xdr_gfs3_release_req);
@@ -3810,7 +3774,15 @@ server3_3_releasedir (rpcsvc_request_t *req)
goto out;
}
- gf_fd_put (client->server_ctx.fdtable, args.fd);
+ serv_ctx = server_ctx_get (client, client->this);
+ if (serv_ctx == NULL) {
+ gf_log (req->trans->name, GF_LOG_INFO,
+ "server_ctx_get() failed");
+ req->rpc_err = SYSTEM_ERR;
+ goto out;
+ }
+
+ gf_fd_put (serv_ctx->fdtable, args.fd);
server_submit_reply (NULL, req, &rsp, NULL, 0, NULL,
(xdrproc_t)xdr_gf_common_rsp);
@@ -3850,7 +3822,7 @@ server3_3_fsync (rpcsvc_request_t *req)
frame->root->op = GF_FOP_FSYNC;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3861,10 +3833,10 @@ server3_3_fsync (rpcsvc_request_t *req)
state->flags = args.data;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -3909,7 +3881,7 @@ server3_3_flush (rpcsvc_request_t *req)
frame->root->op = GF_FOP_FLUSH;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3919,10 +3891,10 @@ server3_3_flush (rpcsvc_request_t *req)
state->resolve.fd_no = args.fd;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -3967,7 +3939,7 @@ server3_3_ftruncate (rpcsvc_request_t *req)
frame->root->op = GF_FOP_FTRUNCATE;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -3978,10 +3950,10 @@ server3_3_ftruncate (rpcsvc_request_t *req)
state->offset = args.offset;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4025,7 +3997,7 @@ server3_3_fstat (rpcsvc_request_t *req)
frame->root->op = GF_FOP_FSTAT;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4035,10 +4007,10 @@ server3_3_fstat (rpcsvc_request_t *req)
state->resolve.fd_no = args.fd;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4082,7 +4054,7 @@ server3_3_truncate (rpcsvc_request_t *req)
frame->root->op = GF_FOP_TRUNCATE;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4092,10 +4064,10 @@ server3_3_truncate (rpcsvc_request_t *req)
memcpy (state->resolve.gfid, args.gfid, 16);
state->offset = args.offset;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4142,7 +4114,7 @@ server3_3_unlink (rpcsvc_request_t *req)
frame->root->op = GF_FOP_UNLINK;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4154,10 +4126,10 @@ server3_3_unlink (rpcsvc_request_t *req)
state->flags = args.xflags;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4204,7 +4176,7 @@ server3_3_setxattr (rpcsvc_request_t *req)
frame->root->op = GF_FOP_SETXATTR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4214,7 +4186,7 @@ server3_3_setxattr (rpcsvc_request_t *req)
state->flags = args.flags;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
dict,
(args.dict.dict_val),
(args.dict.dict_len), ret,
@@ -4225,10 +4197,10 @@ server3_3_setxattr (rpcsvc_request_t *req)
/* There can be some commands hidden in key, check and proceed */
gf_server_check_setxattr_cmd (frame, dict);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4280,7 +4252,7 @@ server3_3_fsetxattr (rpcsvc_request_t *req)
frame->root->op = GF_FOP_FSETXATTR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4291,7 +4263,7 @@ server3_3_fsetxattr (rpcsvc_request_t *req)
state->flags = args.flags;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
dict,
(args.dict.dict_val),
(args.dict.dict_len), ret,
@@ -4299,10 +4271,10 @@ server3_3_fsetxattr (rpcsvc_request_t *req)
state->dict = dict;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4353,8 +4325,8 @@ server3_3_fxattrop (rpcsvc_request_t *req)
}
frame->root->op = GF_FOP_FXATTROP;
- state = CALL_STATE(frame);
- if (!state->client->bound_xl) {
+ state = CALL_STATE (frame);
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4365,7 +4337,7 @@ server3_3_fxattrop (rpcsvc_request_t *req)
state->flags = args.flags;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
dict,
(args.dict.dict_val),
(args.dict.dict_len), ret,
@@ -4373,10 +4345,10 @@ server3_3_fxattrop (rpcsvc_request_t *req)
state->dict = dict;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4429,8 +4401,8 @@ server3_3_xattrop (rpcsvc_request_t *req)
}
frame->root->op = GF_FOP_XATTROP;
- state = CALL_STATE(frame);
- if (!state->client->bound_xl) {
+ state = CALL_STATE (frame);
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4440,7 +4412,7 @@ server3_3_xattrop (rpcsvc_request_t *req)
state->flags = args.flags;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
dict,
(args.dict.dict_val),
(args.dict.dict_len), ret,
@@ -4448,10 +4420,10 @@ server3_3_xattrop (rpcsvc_request_t *req)
state->dict = dict;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4502,7 +4474,7 @@ server3_3_getxattr (rpcsvc_request_t *req)
frame->root->op = GF_FOP_GETXATTR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4517,10 +4489,10 @@ server3_3_getxattr (rpcsvc_request_t *req)
gf_server_check_getxattr_cmd (frame, state->name);
}
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4565,7 +4537,7 @@ server3_3_fgetxattr (rpcsvc_request_t *req)
frame->root->op = GF_FOP_FGETXATTR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4578,10 +4550,10 @@ server3_3_fgetxattr (rpcsvc_request_t *req)
if (args.namelen)
state->name = gf_strdup (args.name);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4628,7 +4600,7 @@ server3_3_removexattr (rpcsvc_request_t *req)
frame->root->op = GF_FOP_REMOVEXATTR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4638,10 +4610,10 @@ server3_3_removexattr (rpcsvc_request_t *req)
memcpy (state->resolve.gfid, args.gfid, 16);
state->name = gf_strdup (args.name);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4686,7 +4658,7 @@ server3_3_fremovexattr (rpcsvc_request_t *req)
frame->root->op = GF_FOP_FREMOVEXATTR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4697,10 +4669,10 @@ server3_3_fremovexattr (rpcsvc_request_t *req)
memcpy (state->resolve.gfid, args.gfid, 16);
state->name = gf_strdup (args.name);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4746,7 +4718,7 @@ server3_3_opendir (rpcsvc_request_t *req)
frame->root->op = GF_FOP_OPENDIR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4755,10 +4727,10 @@ server3_3_opendir (rpcsvc_request_t *req)
state->resolve.type = RESOLVE_MUST;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4802,8 +4774,8 @@ server3_3_readdirp (rpcsvc_request_t *req)
}
frame->root->op = GF_FOP_READDIRP;
- state = CALL_STATE(frame);
- if (!state->client->bound_xl) {
+ state = CALL_STATE (frame);
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4826,7 +4798,7 @@ server3_3_readdirp (rpcsvc_request_t *req)
memcpy (state->resolve.gfid, args.gfid, 16);
/* here, dict itself works as xdata */
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->dict,
(args.dict.dict_val),
(args.dict.dict_len), ret,
@@ -4873,8 +4845,8 @@ server3_3_readdir (rpcsvc_request_t *req)
}
frame->root->op = GF_FOP_READDIR;
- state = CALL_STATE(frame);
- if (!state->client->bound_xl) {
+ state = CALL_STATE (frame);
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4896,10 +4868,10 @@ server3_3_readdir (rpcsvc_request_t *req)
state->offset = args.offset;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -4941,8 +4913,8 @@ server3_3_fsyncdir (rpcsvc_request_t *req)
}
frame->root->op = GF_FOP_FSYNCDIR;
- state = CALL_STATE(frame);
- if (!state->client->bound_xl) {
+ state = CALL_STATE (frame);
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -4953,10 +4925,10 @@ server3_3_fsyncdir (rpcsvc_request_t *req)
state->flags = args.data;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5003,7 +4975,7 @@ server3_3_mknod (rpcsvc_request_t *req)
frame->root->op = GF_FOP_MKNOD;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5017,10 +4989,10 @@ server3_3_mknod (rpcsvc_request_t *req)
state->dev = args.dev;
state->umask = args.umask;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5069,7 +5041,7 @@ server3_3_mkdir (rpcsvc_request_t *req)
frame->root->op = GF_FOP_MKDIR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5083,10 +5055,10 @@ server3_3_mkdir (rpcsvc_request_t *req)
state->umask = args.umask;
/* TODO: can do alloca for xdata field instead of stdalloc */
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5133,7 +5105,7 @@ server3_3_rmdir (rpcsvc_request_t *req)
frame->root->op = GF_FOP_RMDIR;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5145,10 +5117,10 @@ server3_3_rmdir (rpcsvc_request_t *req)
state->flags = args.xflags;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5196,7 +5168,7 @@ server3_3_inodelk (rpcsvc_request_t *req)
frame->root->op = GF_FOP_INODELK;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5235,10 +5207,10 @@ server3_3_inodelk (rpcsvc_request_t *req)
break;
}
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5283,8 +5255,8 @@ server3_3_finodelk (rpcsvc_request_t *req)
}
frame->root->op = GF_FOP_FINODELK;
- state = CALL_STATE(frame);
- if (!state->client->bound_xl) {
+ state = CALL_STATE (frame);
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5324,10 +5296,10 @@ server3_3_finodelk (rpcsvc_request_t *req)
break;
}
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5376,7 +5348,7 @@ server3_3_entrylk (rpcsvc_request_t *req)
frame->root->op = GF_FOP_ENTRYLK;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5392,10 +5364,10 @@ server3_3_entrylk (rpcsvc_request_t *req)
state->cmd = args.cmd;
state->type = args.type;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5440,8 +5412,8 @@ server3_3_fentrylk (rpcsvc_request_t *req)
}
frame->root->op = GF_FOP_FENTRYLK;
- state = CALL_STATE(frame);
- if (!state->client->bound_xl) {
+ state = CALL_STATE (frame);
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5457,10 +5429,10 @@ server3_3_fentrylk (rpcsvc_request_t *req)
state->name = gf_strdup (args.name);
state->volume = gf_strdup (args.volume);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5503,7 +5475,7 @@ server3_3_access (rpcsvc_request_t *req)
frame->root->op = GF_FOP_ACCESS;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5513,10 +5485,10 @@ server3_3_access (rpcsvc_request_t *req)
memcpy (state->resolve.gfid, args.gfid, 16);
state->mask = args.mask;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5564,7 +5536,7 @@ server3_3_symlink (rpcsvc_request_t *req)
frame->root->op = GF_FOP_SYMLINK;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5576,10 +5548,10 @@ server3_3_symlink (rpcsvc_request_t *req)
state->name = gf_strdup (args.linkname);
state->umask = args.umask;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5627,7 +5599,7 @@ server3_3_link (rpcsvc_request_t *req)
frame->root->op = GF_FOP_LINK;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5640,10 +5612,10 @@ server3_3_link (rpcsvc_request_t *req)
state->resolve2.bname = gf_strdup (args.newbname);
memcpy (state->resolve2.pargfid, args.newgfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5690,7 +5662,7 @@ server3_3_rename (rpcsvc_request_t *req)
frame->root->op = GF_FOP_RENAME;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5704,10 +5676,10 @@ server3_3_rename (rpcsvc_request_t *req)
state->resolve2.bname = gf_strdup (args.newbname);
memcpy (state->resolve2.pargfid, args.newgfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5749,7 +5721,7 @@ server3_3_lk (rpcsvc_request_t *req)
frame->root->op = GF_FOP_LK;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5799,7 +5771,7 @@ server3_3_lk (rpcsvc_request_t *req)
state->flock.l_type = F_UNLCK;
break;
default:
- gf_log (state->client->bound_xl->name, GF_LOG_ERROR,
+ gf_log (frame->root->client->bound_xl->name, GF_LOG_ERROR,
"fd - %"PRId64" (%s): Unknown lock type: %"PRId32"!",
state->resolve.fd_no,
uuid_utoa (state->fd->inode->gfid), state->type);
@@ -5807,10 +5779,10 @@ server3_3_lk (rpcsvc_request_t *req)
}
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5855,8 +5827,8 @@ server3_3_rchecksum (rpcsvc_request_t *req)
}
frame->root->op = GF_FOP_RCHECKSUM;
- state = CALL_STATE(frame);
- if (!state->client->bound_xl) {
+ state = CALL_STATE (frame);
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5867,10 +5839,10 @@ server3_3_rchecksum (rpcsvc_request_t *req)
state->offset = args.offset;
state->size = args.len;
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5933,7 +5905,7 @@ server3_3_lookup (rpcsvc_request_t *req)
*/
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -5948,10 +5920,10 @@ server3_3_lookup (rpcsvc_request_t *req)
memcpy (state->resolve.gfid, args.gfid, 16);
}
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;
@@ -5996,7 +5968,7 @@ server3_3_statfs (rpcsvc_request_t *req)
frame->root->op = GF_FOP_STATFS;
state = CALL_STATE (frame);
- if (!state->client->bound_xl) {
+ if (!frame->root->client->bound_xl) {
/* auth failure, request on subvolume without setvolume */
SERVER_REQ_SET_ERROR (req, ret);
goto out;
@@ -6005,10 +5977,10 @@ server3_3_statfs (rpcsvc_request_t *req)
state->resolve.type = RESOLVE_MUST;
memcpy (state->resolve.gfid, args.gfid, 16);
- GF_PROTOCOL_DICT_UNSERIALIZE (state->client->bound_xl,
+ GF_PROTOCOL_DICT_UNSERIALIZE (frame->root->client->bound_xl,
state->xdata,
- (args.xdata.xdata_val),
- (args.xdata.xdata_len), ret,
+ args.xdata.xdata_val,
+ args.xdata.xdata_len, ret,
op_errno, out);
ret = 0;