rxrpc.c (025db80c9e421efef11f2b83b7f78a11476f06db) | rxrpc.c (2c099014a0a456012c1778e80adce839bf956b77) |
---|---|
1/* Maintain an RxRPC server socket to do AFS communications through 2 * 3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. 4 * Written by David Howells (dhowells@redhat.com) 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version --- 289 unchanged lines hidden (view full) --- 298 pgoff_t first = call->first, last = call->last; 299 int ret; 300 301 offset = call->first_offset; 302 call->first_offset = 0; 303 304 do { 305 afs_load_bvec(call, msg, bv, first, last, offset); | 1/* Maintain an RxRPC server socket to do AFS communications through 2 * 3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. 4 * Written by David Howells (dhowells@redhat.com) 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version --- 289 unchanged lines hidden (view full) --- 298 pgoff_t first = call->first, last = call->last; 299 int ret; 300 301 offset = call->first_offset; 302 call->first_offset = 0; 303 304 do { 305 afs_load_bvec(call, msg, bv, first, last, offset); |
306 trace_afs_send_pages(call, msg, first, last, offset); 307 |
|
306 offset = 0; 307 bytes = msg->msg_iter.count; 308 nr = msg->msg_iter.nr_segs; 309 310 ret = rxrpc_kernel_send_data(call->net->socket, call->rxcall, msg, 311 bytes, afs_notify_end_request_tx); 312 for (loop = 0; loop < nr; loop++) 313 put_page(bv[loop].bv_page); 314 if (ret < 0) 315 break; 316 317 first += nr; 318 } while (first <= last); 319 | 308 offset = 0; 309 bytes = msg->msg_iter.count; 310 nr = msg->msg_iter.nr_segs; 311 312 ret = rxrpc_kernel_send_data(call->net->socket, call->rxcall, msg, 313 bytes, afs_notify_end_request_tx); 314 for (loop = 0; loop < nr; loop++) 315 put_page(bv[loop].bv_page); 316 if (ret < 0) 317 break; 318 319 first += nr; 320 } while (first <= last); 321 |
322 trace_afs_sent_pages(call, call->first, last, first, ret); |
|
320 return ret; 321} 322 323/* 324 * initiate a call 325 */ 326long afs_make_call(struct afs_addr_cursor *ac, struct afs_call *call, 327 gfp_t gfp, bool async) --- 582 unchanged lines hidden --- | 323 return ret; 324} 325 326/* 327 * initiate a call 328 */ 329long afs_make_call(struct afs_addr_cursor *ac, struct afs_call *call, 330 gfp_t gfp, bool async) --- 582 unchanged lines hidden --- |