aboutsummaryrefslogtreecommitdiffstats
path: root/fs/afs/rxrpc.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-08-30 07:00:48 -0400
committerDavid Howells <dhowells@redhat.com>2016-08-30 11:07:53 -0400
commit4de48af663d88d8c9a2550e60725f5a5c660970b (patch)
treea9c55856934f49068d5351e67b407d917d649966 /fs/afs/rxrpc.c
parentea82aaec9879e4df307ccbbf26491a8e0a52e4f1 (diff)
rxrpc: Pass struct socket * to more rxrpc kernel interface functions
Pass struct socket * to more rxrpc kernel interface functions. They should be starting from this rather than the socket pointer in the rxrpc_call struct if they need to access the socket. I have left: rxrpc_kernel_is_data_last() rxrpc_kernel_get_abort_code() rxrpc_kernel_get_error_number() rxrpc_kernel_free_skb() rxrpc_kernel_data_consumed() unmodified as they're all about to be removed (and, in any case, don't touch the socket). Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/rxrpc.c')
-rw-r--r--fs/afs/rxrpc.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/fs/afs/rxrpc.c b/fs/afs/rxrpc.c
index a1916750e2f9..7b0d18900f50 100644
--- a/fs/afs/rxrpc.c
+++ b/fs/afs/rxrpc.c
@@ -207,7 +207,7 @@ static void afs_free_call(struct afs_call *call)
207static void afs_end_call_nofree(struct afs_call *call) 207static void afs_end_call_nofree(struct afs_call *call)
208{ 208{
209 if (call->rxcall) { 209 if (call->rxcall) {
210 rxrpc_kernel_end_call(call->rxcall); 210 rxrpc_kernel_end_call(afs_socket, call->rxcall);
211 call->rxcall = NULL; 211 call->rxcall = NULL;
212 } 212 }
213 if (call->type->destructor) 213 if (call->type->destructor)
@@ -325,8 +325,8 @@ static int afs_send_pages(struct afs_call *call, struct msghdr *msg,
325 * returns from sending the request */ 325 * returns from sending the request */
326 if (first + loop >= last) 326 if (first + loop >= last)
327 call->state = AFS_CALL_AWAIT_REPLY; 327 call->state = AFS_CALL_AWAIT_REPLY;
328 ret = rxrpc_kernel_send_data(call->rxcall, msg, 328 ret = rxrpc_kernel_send_data(afs_socket, call->rxcall,
329 to - offset); 329 msg, to - offset);
330 kunmap(pages[loop]); 330 kunmap(pages[loop]);
331 if (ret < 0) 331 if (ret < 0)
332 break; 332 break;
@@ -406,7 +406,8 @@ int afs_make_call(struct in_addr *addr, struct afs_call *call, gfp_t gfp,
406 * request */ 406 * request */
407 if (!call->send_pages) 407 if (!call->send_pages)
408 call->state = AFS_CALL_AWAIT_REPLY; 408 call->state = AFS_CALL_AWAIT_REPLY;
409 ret = rxrpc_kernel_send_data(rxcall, &msg, call->request_size); 409 ret = rxrpc_kernel_send_data(afs_socket, rxcall,
410 &msg, call->request_size);
410 if (ret < 0) 411 if (ret < 0)
411 goto error_do_abort; 412 goto error_do_abort;
412 413
@@ -421,7 +422,7 @@ int afs_make_call(struct in_addr *addr, struct afs_call *call, gfp_t gfp,
421 return wait_mode->wait(call); 422 return wait_mode->wait(call);
422 423
423error_do_abort: 424error_do_abort:
424 rxrpc_kernel_abort_call(rxcall, RX_USER_ABORT); 425 rxrpc_kernel_abort_call(afs_socket, rxcall, RX_USER_ABORT);
425 while ((skb = skb_dequeue(&call->rx_queue))) 426 while ((skb = skb_dequeue(&call->rx_queue)))
426 afs_free_skb(skb); 427 afs_free_skb(skb);
427error_kill_call: 428error_kill_call:
@@ -509,7 +510,8 @@ static void afs_deliver_to_call(struct afs_call *call)
509 if (call->state != AFS_CALL_AWAIT_REPLY) 510 if (call->state != AFS_CALL_AWAIT_REPLY)
510 abort_code = RXGEN_SS_UNMARSHAL; 511 abort_code = RXGEN_SS_UNMARSHAL;
511 do_abort: 512 do_abort:
512 rxrpc_kernel_abort_call(call->rxcall, 513 rxrpc_kernel_abort_call(afs_socket,
514 call->rxcall,
513 abort_code); 515 abort_code);
514 call->error = ret; 516 call->error = ret;
515 call->state = AFS_CALL_ERROR; 517 call->state = AFS_CALL_ERROR;
@@ -605,7 +607,7 @@ static int afs_wait_for_call_to_complete(struct afs_call *call)
605 /* kill the call */ 607 /* kill the call */
606 if (call->state < AFS_CALL_COMPLETE) { 608 if (call->state < AFS_CALL_COMPLETE) {
607 _debug("call incomplete"); 609 _debug("call incomplete");
608 rxrpc_kernel_abort_call(call->rxcall, RX_CALL_DEAD); 610 rxrpc_kernel_abort_call(afs_socket, call->rxcall, RX_CALL_DEAD);
609 while ((skb = skb_dequeue(&call->rx_queue))) 611 while ((skb = skb_dequeue(&call->rx_queue)))
610 afs_free_skb(skb); 612 afs_free_skb(skb);
611 } 613 }
@@ -823,14 +825,15 @@ void afs_send_empty_reply(struct afs_call *call)
823 msg.msg_flags = 0; 825 msg.msg_flags = 0;
824 826
825 call->state = AFS_CALL_AWAIT_ACK; 827 call->state = AFS_CALL_AWAIT_ACK;
826 switch (rxrpc_kernel_send_data(call->rxcall, &msg, 0)) { 828 switch (rxrpc_kernel_send_data(afs_socket, call->rxcall, &msg, 0)) {
827 case 0: 829 case 0:
828 _leave(" [replied]"); 830 _leave(" [replied]");
829 return; 831 return;
830 832
831 case -ENOMEM: 833 case -ENOMEM:
832 _debug("oom"); 834 _debug("oom");
833 rxrpc_kernel_abort_call(call->rxcall, RX_USER_ABORT); 835 rxrpc_kernel_abort_call(afs_socket, call->rxcall,
836 RX_USER_ABORT);
834 default: 837 default:
835 afs_end_call(call); 838 afs_end_call(call);
836 _leave(" [error]"); 839 _leave(" [error]");
@@ -859,7 +862,7 @@ void afs_send_simple_reply(struct afs_call *call, const void *buf, size_t len)
859 msg.msg_flags = 0; 862 msg.msg_flags = 0;
860 863
861 call->state = AFS_CALL_AWAIT_ACK; 864 call->state = AFS_CALL_AWAIT_ACK;
862 n = rxrpc_kernel_send_data(call->rxcall, &msg, len); 865 n = rxrpc_kernel_send_data(afs_socket, call->rxcall, &msg, len);
863 if (n >= 0) { 866 if (n >= 0) {
864 /* Success */ 867 /* Success */
865 _leave(" [replied]"); 868 _leave(" [replied]");
@@ -868,7 +871,8 @@ void afs_send_simple_reply(struct afs_call *call, const void *buf, size_t len)
868 871
869 if (n == -ENOMEM) { 872 if (n == -ENOMEM) {
870 _debug("oom"); 873 _debug("oom");
871 rxrpc_kernel_abort_call(call->rxcall, RX_USER_ABORT); 874 rxrpc_kernel_abort_call(afs_socket, call->rxcall,
875 RX_USER_ABORT);
872 } 876 }
873 afs_end_call(call); 877 afs_end_call(call);
874 _leave(" [error]"); 878 _leave(" [error]");