fixes for bind_conn_to_session()

fixes for xdr encoding of bind_conn_to_session, after testing against linux server

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
This commit is contained in:
Casey Bodley 2011-01-05 12:16:56 -05:00
parent eb60a1ee6d
commit 9c59af4da5
3 changed files with 5 additions and 6 deletions

View file

@ -68,10 +68,11 @@ void compound_add_op(
void *res) void *res)
{ {
const uint32_t i = compound->args.argarray_count++; const uint32_t i = compound->args.argarray_count++;
const uint32_t j = compound->res.resarray_count++;
compound->args.argarray[i].op = opnum; compound->args.argarray[i].op = opnum;
compound->args.argarray[i].arg = arg; compound->args.argarray[i].arg = arg;
compound->res.resarray[j].op = opnum;
compound->res.resarray[compound->res.resarray_count++].res = res; compound->res.resarray[j].res = res;
} }
/* Due to the possibility of replays, we might get a response to a different /* Due to the possibility of replays, we might get a response to a different

View file

@ -180,8 +180,6 @@ enum nfsstat4 nfs41_bind_conn_to_session(
{ {
int status; int status;
nfs41_compound compound; nfs41_compound compound;
nfs41_compound_args *compound_args = &compound.args;
nfs41_compound_res *compound_res = &compound.res;
nfs_argop4 argop; nfs_argop4 argop;
nfs_resop4 resop; nfs_resop4 resop;
nfs41_bind_conn_to_session_args bind_args; nfs41_bind_conn_to_session_args bind_args;
@ -195,7 +193,7 @@ enum nfsstat4 nfs41_bind_conn_to_session(
ZeroMemory(&bind_res, sizeof(bind_res)); ZeroMemory(&bind_res, sizeof(bind_res));
status = nfs41_send_compound(rpc, status = nfs41_send_compound(rpc,
(char*)&compound_args, (char*)&compound_res); (char*)&compound.args, (char*)&compound.res);
if (status) if (status)
goto out; goto out;

View file

@ -3056,7 +3056,7 @@ static const op_table_entry g_op_table[] = {
{ encode_op_write, decode_op_write }, /* OP_WRITE = 38 */ { encode_op_write, decode_op_write }, /* OP_WRITE = 38 */
{ NULL, NULL }, /* OP_RELEASE_LOCKOWNER = 39 */ { NULL, NULL }, /* OP_RELEASE_LOCKOWNER = 39 */
{ NULL, NULL }, /* OP_BACKCHANNEL_CTL = 40 */ { NULL, NULL }, /* OP_BACKCHANNEL_CTL = 40 */
{ NULL, NULL }, /* OP_BIND_CONN_TO_SESSION = 41 */ { encode_op_bind_conn_to_session, decode_op_bind_conn_to_session }, /* OP_BIND_CONN_TO_SESSION = 41 */
{ encode_op_exchange_id, decode_op_exchange_id }, /* OP_EXCHANGE_ID = 42 */ { encode_op_exchange_id, decode_op_exchange_id }, /* OP_EXCHANGE_ID = 42 */
{ encode_op_create_session, decode_op_create_session }, /* OP_CREATE_SESSION = 43 */ { encode_op_create_session, decode_op_create_session }, /* OP_CREATE_SESSION = 43 */
{ encode_op_destroy_session, decode_op_destroy_session }, /* OP_DESTROY_SESSION = 44 */ { encode_op_destroy_session, decode_op_destroy_session }, /* OP_DESTROY_SESSION = 44 */