summaryrefslogtreecommitdiffstats
path: root/net/rds
diff options
context:
space:
mode:
Diffstat (limited to 'net/rds')
-rw-r--r--net/rds/rdma.c3
-rw-r--r--net/rds/rds.h8
2 files changed, 7 insertions, 4 deletions
diff --git a/net/rds/rdma.c b/net/rds/rdma.c
index 8d22999b0471..5ba514684431 100644
--- a/net/rds/rdma.c
+++ b/net/rds/rdma.c
@@ -747,6 +747,7 @@ int rds_cmsg_atomic(struct rds_sock *rs, struct rds_message *rm,
}
rm->atomic.op_notify = !!(args->flags & RDS_RDMA_NOTIFY_ME);
+ rm->atomic.op_active = 1;
rm->atomic.op_recverr = rs->rs_recverr;
rm->atomic.op_sg = rds_message_alloc_sgs(rm, 1);
@@ -782,8 +783,6 @@ int rds_cmsg_atomic(struct rds_sock *rs, struct rds_message *rm,
rm->atomic.op_rkey = rds_rdma_cookie_key(args->cookie);
rm->atomic.op_remote_addr = args->remote_addr + rds_rdma_cookie_offset(args->cookie);
- rm->atomic.op_active = 1;
-
return ret;
err:
if (page)
diff --git a/net/rds/rds.h b/net/rds/rds.h
index 13ed30ac424d..46d190d08549 100644
--- a/net/rds/rds.h
+++ b/net/rds/rds.h
@@ -301,7 +301,13 @@ struct rds_message {
*/
spinlock_t m_rs_lock;
struct rds_sock *m_rs;
+
+ /* cookie to send to remote, in rds header */
rds_rdma_cookie_t m_rdma_cookie;
+
+ unsigned int m_used_sgs;
+ unsigned int m_total_sgs;
+
struct {
struct rm_atomic_op {
int op_type;
@@ -343,8 +349,6 @@ struct rds_message {
struct scatterlist *op_sg;
} data;
};
- unsigned int m_used_sgs;
- unsigned int m_total_sgs;
};
/*