| /fs/netfs/ |
| A D | read_retry.c | 18 subreq->rreq->netfs_ops->issue_read(subreq); in netfs_reissue_read() 100 if (subreq->start + subreq->transferred != start + len || in netfs_retry_read_subrequests() 104 to = subreq; in netfs_retry_read_subrequests() 118 subreq = from; in netfs_retry_read_subrequests() 125 subreq->start = start - subreq->transferred; in netfs_retry_read_subrequests() 126 subreq->len = len + subreq->transferred; in netfs_retry_read_subrequests() 145 subreq->len = subreq->transferred + part; in netfs_retry_read_subrequests() 188 if (!subreq) { in netfs_retry_read_subrequests() 189 subreq = to; in netfs_retry_read_subrequests() 219 subreq->len = subreq->transferred + part; in netfs_retry_read_subrequests() [all …]
|
| A D | write_retry.c | 77 if (subreq->start + subreq->transferred != start + len || in netfs_retry_write_stream() 81 to = subreq; in netfs_retry_write_stream() 93 subreq = from; in netfs_retry_write_stream() 98 subreq->start = start; in netfs_retry_write_stream() 99 subreq->len = len; in netfs_retry_write_stream() 101 subreq->retry_count++; in netfs_retry_write_stream() 111 subreq->len = part; in netfs_retry_write_stream() 121 if (subreq == to) in netfs_retry_write_stream() 129 if (subreq == to) in netfs_retry_write_stream() 136 if (subreq == to) in netfs_retry_write_stream() [all …]
|
| A D | read_single.c | 70 subreq->source = cres->ops->prepare_read(subreq, rreq->i_size); in netfs_single_cache_prepare_read() 82 cres->ops->read(cres, subreq->start, &subreq->io_iter, NETFS_READ_HOLE_FAIL, in netfs_single_read_cache() 93 struct netfs_io_subrequest *subreq; in netfs_single_dispatch_read() local 97 if (!subreq) in netfs_single_dispatch_read() 101 subreq->start = 0; in netfs_single_dispatch_read() 102 subreq->len = rreq->len; in netfs_single_dispatch_read() 103 subreq->io_iter = rreq->buffer.iter; in netfs_single_dispatch_read() 110 stream->front = subreq; in netfs_single_dispatch_read() 116 switch (subreq->source) { in netfs_single_dispatch_read() 126 rreq->submitted += subreq->len; in netfs_single_dispatch_read() [all …]
|
| A D | buffered_read.c | 112 subreq->len = rsize; in netfs_prepare_read_iterator() 118 subreq->len = limit; in netfs_prepare_read_iterator() 125 iov_iter_truncate(&subreq->io_iter, subreq->len); in netfs_prepare_read_iterator() 127 return subreq->len; in netfs_prepare_read_iterator() 155 cres->ops->read(cres, subreq->start, &subreq->io_iter, NETFS_READ_HOLE_IGNORE, in netfs_read_cache_to_pagecache() 202 subreq->error = 0; in netfs_issue_read() 203 iov_iter_zero(subreq->len, &subreq->io_iter); in netfs_issue_read() 204 subreq->transferred = subreq->len; in netfs_issue_read() 229 if (!subreq) { in netfs_read_to_pagecache() 235 subreq->len = size; in netfs_read_to_pagecache() [all …]
|
| A D | read_collect.c | 30 netfs_reset_iter(subreq); in netfs_clear_unread() 31 WARN_ON_ONCE(subreq->len - subreq->transferred != iov_iter_count(&subreq->io_iter)); in netfs_clear_unread() 32 iov_iter_zero(iov_iter_count(&subreq->io_iter), &subreq->io_iter); in netfs_clear_unread() 33 if (subreq->start + subreq->transferred >= subreq->rreq->i_size) in netfs_clear_unread() 486 if (subreq->start + subreq->transferred > rreq->cleaned_to + fsize && in netfs_read_subreq_progress() 518 switch (subreq->source) { in netfs_read_subreq_terminated() 532 if (!subreq->error && subreq->transferred < subreq->len) { in netfs_read_subreq_terminated() 544 subreq->error = -ENODATA; in netfs_read_subreq_terminated() 549 if (unlikely(subreq->error < 0)) { in netfs_read_subreq_terminated() 550 trace_netfs_failure(rreq, subreq, subreq->error, netfs_fail_read); in netfs_read_subreq_terminated() [all …]
|
| A D | direct_read.c | 25 subreq->len = rsize; in netfs_prepare_dio_read_iterator() 32 subreq->len = limit; in netfs_prepare_dio_read_iterator() 39 subreq->io_iter = rreq->buffer.iter; in netfs_prepare_dio_read_iterator() 40 iov_iter_truncate(&subreq->io_iter, subreq->len); in netfs_prepare_dio_read_iterator() 56 struct netfs_io_subrequest *subreq; in netfs_dispatch_unbuffered_reads() local 60 if (!subreq) { in netfs_dispatch_unbuffered_reads() 66 subreq->start = start; in netfs_dispatch_unbuffered_reads() 67 subreq->len = size; in netfs_dispatch_unbuffered_reads() 74 stream->front = subreq; in netfs_dispatch_unbuffered_reads() 94 slice = subreq->len; in netfs_dispatch_unbuffered_reads() [all …]
|
| A D | objects.c | 96 struct netfs_io_subrequest *subreq; in netfs_clear_subrequests() local 105 list_del(&subreq->rreq_link); in netfs_clear_subrequests() 175 struct netfs_io_subrequest *subreq; in netfs_alloc_subrequest() local 182 if (subreq) in netfs_alloc_subrequest() 188 INIT_WORK(&subreq->work, NULL); in netfs_alloc_subrequest() 190 refcount_set(&subreq->ref, 2); in netfs_alloc_subrequest() 191 subreq->rreq = rreq; in netfs_alloc_subrequest() 195 return subreq; in netfs_alloc_subrequest() 203 __refcount_inc(&subreq->ref, &r); in netfs_get_subrequest() 204 trace_netfs_sreq_ref(subreq->rreq->debug_id, subreq->debug_index, r + 1, in netfs_get_subrequest() [all …]
|
| A D | write_issue.c | 233 _enter("R=%x[%x],%zx", wreq->debug_id, subreq->debug_index, subreq->len); in netfs_do_issue_write() 236 return netfs_write_subrequest_terminated(subreq, subreq->error); in netfs_do_issue_write() 246 size_t size = subreq->len - subreq->transferred; in netfs_reissue_write() 265 if (!subreq) in netfs_issue_write() 268 subreq->io_iter.count = subreq->len; in netfs_issue_write() 290 _enter("R=%x[%x]", wreq->debug_id, subreq ? subreq->debug_index : 0); in netfs_advance_write() 292 if (subreq && start != subreq->start + subreq->len) { in netfs_advance_write() 294 subreq = NULL; in netfs_advance_write() 303 subreq->len += part; in netfs_advance_write() 304 subreq->nr_segs++; in netfs_advance_write() [all …]
|
| A D | write_collect.c | 482 switch (subreq->source) { in netfs_write_subrequest_terminated() 494 subreq->error = transferred_or_error; in netfs_write_subrequest_terminated() 495 if (subreq->error == -EAGAIN) in netfs_write_subrequest_terminated() 501 switch (subreq->source) { in netfs_write_subrequest_terminated() 514 if (WARN(transferred_or_error > subreq->len - subreq->transferred, in netfs_write_subrequest_terminated() 516 wreq->debug_id, subreq->debug_index, in netfs_write_subrequest_terminated() 517 transferred_or_error, subreq->len, subreq->transferred)) in netfs_write_subrequest_terminated() 518 transferred_or_error = subreq->len - subreq->transferred; in netfs_write_subrequest_terminated() 520 subreq->error = 0; in netfs_write_subrequest_terminated() 523 if (subreq->transferred < subreq->len) in netfs_write_subrequest_terminated() [all …]
|
| A D | misc.c | 113 void netfs_reset_iter(struct netfs_io_subrequest *subreq) in netfs_reset_iter() argument 115 struct iov_iter *io_iter = &subreq->io_iter; in netfs_reset_iter() 116 size_t remain = subreq->len - subreq->transferred; in netfs_reset_iter() 122 iov_iter_truncate(&subreq->io_iter, remain); in netfs_reset_iter() 337 struct netfs_io_request *rreq = subreq->rreq; in netfs_subreq_clear_in_progress() 355 struct netfs_io_subrequest *subreq; in netfs_wait_for_in_progress_stream() local 359 if (!netfs_check_subreq_in_progress(subreq)) in netfs_wait_for_in_progress_stream() 366 if (!netfs_check_subreq_in_progress(subreq)) in netfs_wait_for_in_progress_stream() 392 struct netfs_io_subrequest *subreq; in netfs_collect_in_app() local 402 if (subreq && in netfs_collect_in_app() [all …]
|
| A D | internal.h | 70 void netfs_reset_iter(struct netfs_io_subrequest *subreq); 72 void netfs_subreq_clear_in_progress(struct netfs_io_subrequest *subreq); 98 static inline void netfs_see_subrequest(struct netfs_io_subrequest *subreq, in netfs_see_subrequest() argument 101 trace_netfs_sreq_ref(subreq->rreq->debug_id, subreq->debug_index, in netfs_see_subrequest() 102 refcount_read(&subreq->ref), what); in netfs_see_subrequest() 201 struct netfs_io_subrequest *subreq, 295 static inline bool netfs_check_subreq_in_progress(const struct netfs_io_subrequest *subreq) in netfs_check_subreq_in_progress() argument 298 return test_bit_acquire(NETFS_SREQ_IN_PROGRESS, &subreq->flags); in netfs_check_subreq_in_progress()
|
| /fs/9p/ |
| A D | vfs_addr.c | 56 struct p9_fid *fid = subreq->rreq->netfs_priv; in v9fs_issue_write() 59 len = p9_client_write(fid, subreq->start, &subreq->io_iter, &err); in v9fs_issue_write() 71 struct netfs_io_request *rreq = subreq->rreq; in v9fs_issue_read() 73 unsigned long long pos = subreq->start + subreq->transferred; in v9fs_issue_read() 80 if (subreq->rreq->origin != NETFS_UNBUFFERED_READ && in v9fs_issue_read() 81 subreq->rreq->origin != NETFS_DIO_READ) in v9fs_issue_read() 82 __set_bit(NETFS_SREQ_CLEAR_TAIL, &subreq->flags); in v9fs_issue_read() 84 __set_bit(NETFS_SREQ_HIT_EOF, &subreq->flags); in v9fs_issue_read() 86 subreq->transferred += total; in v9fs_issue_read() 90 subreq->error = err; in v9fs_issue_read() [all …]
|
| /fs/afs/ |
| A D | write.c | 92 struct netfs_io_stream *stream = &subreq->rreq->io_streams[subreq->stream_nr]; in afs_prepare_write() 109 unsigned long long pos = subreq->start + subreq->transferred; in afs_issue_write_worker() 110 size_t len = subreq->len - subreq->transferred; in afs_issue_write_worker() 114 wreq->debug_id, subreq->debug_index, in afs_issue_write_worker() 122 if (subreq->debug_index == 3) in afs_issue_write_worker() 125 if (!subreq->retry_count) { in afs_issue_write_worker() 145 op->store.write_iter = &subreq->io_iter; in afs_issue_write_worker() 169 netfs_write_subrequest_terminated(subreq, ret < 0 ? ret : subreq->len); in afs_issue_write_worker() 174 subreq->work.func = afs_issue_write_worker; in afs_issue_write() 195 struct netfs_io_subrequest *subreq = in afs_retry_request() local [all …]
|
| A D | file.c | 205 struct netfs_io_subrequest *subreq = op->fetch.subreq; in afs_fetch_data_notify() local 207 subreq->error = afs_op_error(op); in afs_fetch_data_notify() 208 netfs_read_subreq_terminated(subreq); in afs_fetch_data_notify() 286 netfs_read_subreq_progress(op->fetch.subreq); in afs_read_receive() 336 struct key *key = subreq->rreq->netfs_priv; in afs_issue_read() 347 subreq->error = PTR_ERR(op); in afs_issue_read() 348 netfs_read_subreq_terminated(subreq); in afs_issue_read() 354 op->fetch.subreq = subreq; in afs_issue_read() 360 subreq->rreq->iocb) { in afs_issue_read() 364 subreq->error = afs_put_operation(op); in afs_issue_read() [all …]
|
| A D | fsclient.c | 304 struct netfs_io_subrequest *subreq = op->fetch.subreq; in afs_deliver_fs_fetch_data() local 342 call->iter = &subreq->io_iter; in afs_deliver_fs_fetch_data() 343 call->iov_len = umin(call->remaining, subreq->len - subreq->transferred); in afs_deliver_fs_fetch_data() 391 if (subreq->start + subreq->transferred >= vp->scb.status.size) in afs_deliver_fs_fetch_data() 431 struct netfs_io_subrequest *subreq = op->fetch.subreq; in afs_fs_fetch_data64() local 451 bp[4] = htonl(upper_32_bits(subreq->start + subreq->transferred)); in afs_fs_fetch_data64() 452 bp[5] = htonl(lower_32_bits(subreq->start + subreq->transferred)); in afs_fs_fetch_data64() 454 bp[7] = htonl(lower_32_bits(subreq->len - subreq->transferred)); in afs_fs_fetch_data64() 466 struct netfs_io_subrequest *subreq = op->fetch.subreq; in afs_fs_fetch_data() local 486 bp[4] = htonl(lower_32_bits(subreq->start + subreq->transferred)); in afs_fs_fetch_data() [all …]
|
| A D | yfsclient.c | 355 struct netfs_io_subrequest *subreq = op->fetch.subreq; in yfs_deliver_fs_fetch_data64() local 388 call->iter = &subreq->io_iter; in yfs_deliver_fs_fetch_data64() 389 call->iov_len = min(call->remaining, subreq->len - subreq->transferred); in yfs_deliver_fs_fetch_data64() 399 subreq->transferred += count_before - call->iov_len; in yfs_deliver_fs_fetch_data64() 439 if (subreq->start + subreq->transferred >= vp->scb.status.size) in yfs_deliver_fs_fetch_data64() 440 __set_bit(NETFS_SREQ_HIT_EOF, &subreq->flags); in yfs_deliver_fs_fetch_data64() 470 struct netfs_io_subrequest *subreq = op->fetch.subreq; in yfs_fs_fetch_data() local 477 subreq->start + subreq->transferred, in yfs_fs_fetch_data() 478 subreq->len - subreq->transferred); in yfs_fs_fetch_data() 498 bp = xdr_encode_u64(bp, subreq->start + subreq->transferred); in yfs_fs_fetch_data() [all …]
|
| /fs/cachefiles/ |
| A D | io.c | 500 subreq->start, &subreq->len, i_size, in cachefiles_prepare_read() 501 &subreq->flags, subreq->rreq->inode->i_ino); in cachefiles_prepare_read() 632 _enter("W=%x[%x] %llx", wreq->debug_id, subreq->debug_index, subreq->start); in cachefiles_prepare_write_subreq() 653 size_t off, pre, post, len = subreq->len; in cachefiles_issue_write() 654 loff_t start = subreq->start; in cachefiles_issue_write() 669 subreq->transferred += pre; in cachefiles_issue_write() 672 iov_iter_advance(&subreq->io_iter, pre); in cachefiles_issue_write() 682 subreq->len += need; in cachefiles_issue_write() 683 subreq->io_iter.count += need; in cachefiles_issue_write() 695 iov_iter_truncate(&subreq->io_iter, len); in cachefiles_issue_write() [all …]
|
| /fs/nfs/ |
| A D | write.c | 394 subreq->wb_this_page = subreq; in nfs_destroy_unlinked_subrequests() 395 subreq->wb_head = subreq; in nfs_destroy_unlinked_subrequests() 438 struct nfs_page *subreq; in nfs_join_page_group() local 445 for (subreq = head->wb_this_page; subreq != head; in nfs_join_page_group() 446 subreq = subreq->wb_this_page) { in nfs_join_page_group() 453 bytes = max(subreq->wb_pgbase + subreq->wb_bytes in nfs_join_page_group() 464 subreq = head; in nfs_join_page_group() 467 subreq = subreq->wb_this_page; in nfs_join_page_group() 468 } while (subreq != head); in nfs_join_page_group() 604 subreq != head; in nfs_lock_and_join_requests() [all …]
|
| A D | pagelist.c | 1182 struct nfs_page *subreq; in __nfs_pageio_add_request() local 1187 subreq = req; in __nfs_pageio_add_request() 1188 subreq_size = subreq->wb_bytes; in __nfs_pageio_add_request() 1190 size = nfs_pageio_do_add_request(desc, subreq); in __nfs_pageio_add_request() 1193 if (subreq == req) in __nfs_pageio_add_request() 1199 subreq = req; in __nfs_pageio_add_request() 1202 if (WARN_ON_ONCE(subreq != req)) { in __nfs_pageio_add_request() 1204 nfs_pageio_cleanup_request(desc, subreq); in __nfs_pageio_add_request() 1205 subreq = req; in __nfs_pageio_add_request() 1222 if (IS_ERR(subreq)) in __nfs_pageio_add_request() [all …]
|
| A D | direct.c | 529 struct nfs_page *req, *subreq; in nfs_direct_join_group() local 536 subreq = req->wb_this_page; in nfs_direct_join_group() 537 if (subreq == req) in nfs_direct_join_group() 544 if (!list_empty(&subreq->wb_list)) { in nfs_direct_join_group() 545 nfs_list_remove_request(subreq); in nfs_direct_join_group() 546 nfs_release_request(subreq); in nfs_direct_join_group() 548 } while ((subreq = subreq->wb_this_page) != req); in nfs_direct_join_group()
|
| /fs/ceph/ |
| A D | addr.c | 249 if (err > subreq->len) in finish_netfs_read() 250 err = subreq->len; in finish_netfs_read() 265 subreq->error = err; in finish_netfs_read() 317 len = min_t(size_t, iinfo->inline_len - subreq->start, subreq->len); in ceph_netfs_issue_op_inline() 318 err = copy_to_iter(iinfo->inline_data + subreq->start, len, &subreq->io_iter); in ceph_netfs_issue_op_inline() 328 subreq->error = err; in ceph_netfs_issue_op_inline() 344 ceph_calc_file_object_mapping(&ci->i_layout, subreq->start, subreq->len, in ceph_netfs_prepare_read() 378 len = subreq->len; in ceph_netfs_issue_read() 399 ceph_vinop(inode), subreq->start, subreq->len, len); in ceph_netfs_issue_read() 443 req->r_priv = subreq; in ceph_netfs_issue_read() [all …]
|
| /fs/smb/client/ |
| A D | file.c | 50 container_of(subreq, struct cifs_io_subrequest, subreq); in cifs_prepare_write() 77 subreq->error = rc; in cifs_prepare_write() 85 subreq->error = rc; in cifs_prepare_write() 111 container_of(subreq, struct cifs_io_subrequest, subreq); in cifs_issue_write() 153 struct cifs_io_subrequest *rdata = container_of(subreq, struct cifs_io_subrequest, subreq); in cifs_prepare_read() 205 struct cifs_io_subrequest *rdata = container_of(subreq, struct cifs_io_subrequest, subreq); in cifs_issue_read() 212 subreq->transferred, subreq->len); in cifs_issue_read() 237 subreq->error = rc; in cifs_issue_read() 312 container_of(subreq, struct cifs_io_subrequest, subreq); in cifs_free_subrequest() 313 int rc = subreq->error; in cifs_free_subrequest() [all …]
|
| A D | smb2pdu.c | 4547 rdata->got_bytes, rdata->subreq.len - rdata->subreq.transferred); in smb2_readv_callback() 4611 rdata->subreq.start + rdata->subreq.transferred, in smb2_readv_callback() 4612 rdata->subreq.len - rdata->subreq.transferred, in smb2_readv_callback() 4620 rdata->subreq.start + rdata->subreq.transferred, in smb2_readv_callback() 4657 struct netfs_io_subrequest *subreq = &rdata->subreq; in smb2_async_readv() local 4668 __func__, subreq->start, subreq->len); in smb2_async_readv() 4675 io_parms.offset = subreq->start + subreq->transferred; in smb2_async_readv() 4676 io_parms.length = subreq->len - subreq->transferred; in smb2_async_readv() 4721 subreq->debug_index, in smb2_async_readv() 4726 subreq->len - subreq->transferred, rc); in smb2_async_readv() [all …]
|
| A D | cifssmb.c | 1307 .rq_iter = rdata->subreq.io_iter }; in cifs_readv_callback() 1317 rdata->subreq.len); in cifs_readv_callback() 1366 if (trans < rdata->subreq.len && in cifs_readv_callback() 1378 rdata->subreq.error = rdata->result; in cifs_readv_callback() 1398 __func__, rdata->subreq.start, rdata->subreq.len); in cifs_async_readv() 1404 if ((rdata->subreq.start >> 32) > 0) { in cifs_async_readv() 1715 if (written > wdata->subreq.len) in cifs_writev_callback() 1718 if (written < wdata->subreq.len) { in cifs_writev_callback() 1774 if (wdata->subreq.start >> 32 > 0) { in cifs_async_writev() 1808 rqst.rq_iter = wdata->subreq.io_iter; in cifs_async_writev() [all …]
|
| A D | smb2ops.c | 301 struct cifs_io_subrequest *subreq, in smb2_adjust_credits() argument 305 int new_val = DIV_ROUND_UP(subreq->subreq.len - subreq->subreq.transferred, in smb2_adjust_credits() 313 trace_smb3_rw_credits(subreq->rreq->debug_id, in smb2_adjust_credits() 314 subreq->subreq.debug_index, in smb2_adjust_credits() 322 subreq->rreq->debug_id, subreq->subreq.debug_index, in smb2_adjust_credits() 335 trace_smb3_rw_credits(subreq->rreq->debug_id, in smb2_adjust_credits() 336 subreq->subreq.debug_index, in smb2_adjust_credits() 345 subreq->rreq->debug_id, subreq->subreq.debug_index, in smb2_adjust_credits() 350 trace_smb3_rw_credits(subreq->rreq->debug_id, in smb2_adjust_credits() 351 subreq->subreq.debug_index, in smb2_adjust_credits() [all …]
|