| /linux/fs/netfs/ |
| H A D | read_single.c | 62 struct netfs_io_subrequest *subreq) in netfs_single_cache_prepare_read() argument 67 subreq->source = NETFS_DOWNLOAD_FROM_SERVER; in netfs_single_cache_prepare_read() 70 subreq->source = cres->ops->prepare_read(subreq, rreq->i_size); in netfs_single_cache_prepare_read() 71 trace_netfs_sreq(subreq, netfs_sreq_trace_prepare); in netfs_single_cache_prepare_read() 76 struct netfs_io_subrequest *subreq) in netfs_single_read_cache() argument 80 _enter("R=%08x[%x]", rreq->debug_id, subreq->debug_index); in netfs_single_read_cache() 82 cres->ops->read(cres, subreq->start, &subreq->io_iter, NETFS_READ_HOLE_FAIL, in netfs_single_read_cache() 83 netfs_cache_read_terminated, subreq); in netfs_single_read_cache() 93 struct netfs_io_subrequest *subreq; in netfs_single_dispatch_read() local 96 subreq = netfs_alloc_subrequest(rreq); in netfs_single_dispatch_read() [all …]
|
| H A D | buffered_read.c | 81 static ssize_t netfs_prepare_read_iterator(struct netfs_io_subrequest *subreq, in netfs_prepare_read_iterator() argument 84 struct netfs_io_request *rreq = subreq->rreq; in netfs_prepare_read_iterator() 85 size_t rsize = subreq->len; in netfs_prepare_read_iterator() 87 if (subreq->source == NETFS_DOWNLOAD_FROM_SERVER) in netfs_prepare_read_iterator() 100 while (rreq->submitted < subreq->start + rsize) { in netfs_prepare_read_iterator() 112 subreq->len = rsize; in netfs_prepare_read_iterator() 118 subreq->len = limit; in netfs_prepare_read_iterator() 119 trace_netfs_sreq(subreq, netfs_sreq_trace_limited); in netfs_prepare_read_iterator() 123 subreq->io_iter = rreq->buffer.iter; in netfs_prepare_read_iterator() 125 iov_iter_truncate(&subreq->io_iter, subreq->len); in netfs_prepare_read_iterator() [all …]
|
| H A D | read_collect.c | 28 static void netfs_clear_unread(struct netfs_io_subrequest *subreq) in netfs_clear_unread() argument 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() 34 __set_bit(NETFS_SREQ_HIT_EOF, &subreq->flags); in netfs_clear_unread() 475 void netfs_read_subreq_progress(struct netfs_io_subrequest *subreq) in netfs_read_subreq_progress() argument 477 struct netfs_io_request *rreq = subreq->rreq; in netfs_read_subreq_progress() 481 trace_netfs_sreq(subreq, netfs_sreq_trace_progress); in netfs_read_subreq_progress() 486 if (subreq->start + subreq->transferred > rreq->cleaned_to + fsize && in netfs_read_subreq_progress() [all …]
|
| H A D | direct_read.c | 19 static void netfs_prepare_dio_read_iterator(struct netfs_io_subrequest *subreq) in netfs_prepare_dio_read_iterator() argument 21 struct netfs_io_request *rreq = subreq->rreq; in netfs_prepare_dio_read_iterator() 24 rsize = umin(subreq->len, rreq->io_streams[0].sreq_max_len); in netfs_prepare_dio_read_iterator() 25 subreq->len = rsize; in netfs_prepare_dio_read_iterator() 32 subreq->len = limit; in netfs_prepare_dio_read_iterator() 33 trace_netfs_sreq(subreq, netfs_sreq_trace_limited); in netfs_prepare_dio_read_iterator() 37 trace_netfs_sreq(subreq, netfs_sreq_trace_prepare); 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() 41 iov_iter_advance(&rreq->buffer.iter, subreq->len); in netfs_prepare_dio_read_iterator() [all …]
|
| H A D | objects.c | 96 struct netfs_io_subrequest *subreq; in netfs_clear_subrequests() local 103 subreq = list_first_entry(&stream->subrequests, in netfs_clear_subrequests() 105 list_del(&subreq->rreq_link); in netfs_clear_subrequests() 106 netfs_put_subrequest(subreq, netfs_sreq_trace_put_clear); in netfs_clear_subrequests() 199 struct netfs_io_subrequest *subreq; in netfs_alloc_subrequest() local 204 subreq = mempool_alloc(rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool, in netfs_alloc_subrequest() 206 if (subreq) in netfs_alloc_subrequest() 211 memset(subreq, 0, kmem_cache_size(cache)); in netfs_alloc_subrequest() 212 INIT_WORK(&subreq->work, NULL); in netfs_alloc_subrequest() 213 INIT_LIST_HEAD(&subreq->rreq_link); in netfs_alloc_subrequest() [all …]
|
| H 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() 335 void netfs_subreq_clear_in_progress(struct netfs_io_subrequest *subreq) in netfs_subreq_clear_in_progress() argument 337 struct netfs_io_request *rreq = subreq->rreq; in netfs_subreq_clear_in_progress() 338 struct netfs_io_stream *stream = &rreq->io_streams[subreq->stream_nr]; in netfs_subreq_clear_in_progress() 340 clear_bit_unlock(NETFS_SREQ_IN_PROGRESS, &subreq->flags); in netfs_subreq_clear_in_progress() 344 if (list_is_first(&subreq->rreq_link, &stream->subrequests) || in netfs_subreq_clear_in_progress() 355 struct netfs_io_subrequest *subreq; in netfs_wait_for_in_progress_stream() local [all …]
|
| H 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); 99 static inline void netfs_see_subrequest(struct netfs_io_subrequest *subreq, in netfs_see_subrequest() argument 102 trace_netfs_sreq_ref(subreq->rreq->debug_id, subreq->debug_index, in netfs_see_subrequest() 103 refcount_read(&subreq->ref), what); in netfs_see_subrequest() 202 struct netfs_io_subrequest *subreq, 296 static inline bool netfs_check_subreq_in_progress(const struct netfs_io_subrequest *subreq) in netfs_check_subreq_in_progress() argument 299 return test_bit_acquire(NETFS_SREQ_IN_PROGRESS, &subreq->flags); in netfs_check_subreq_in_progress()
|
| /linux/fs/afs/ |
| H A D | write.c | 90 void afs_prepare_write(struct netfs_io_subrequest *subreq) in afs_prepare_write() argument 92 struct netfs_io_stream *stream = &subreq->rreq->io_streams[subreq->stream_nr]; in afs_prepare_write() 105 struct netfs_io_subrequest *subreq = container_of(work, struct netfs_io_subrequest, work); in afs_issue_write_worker() local 106 struct netfs_io_request *wreq = subreq->rreq; in afs_issue_write_worker() 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() 123 return netfs_write_subrequest_terminated(subreq, -ENOANO); in afs_issue_write_worker() 125 if (!subreq->retry_count) { in afs_issue_write_worker() [all …]
|
| H 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() 218 atomic_long_add(op->fetch.subreq->transferred, &op->net->n_fetch_bytes); in afs_fetch_data_success() 286 netfs_read_subreq_progress(op->fetch.subreq); in afs_read_receive() 332 static void afs_issue_read(struct netfs_io_subrequest *subreq) in afs_issue_read() argument 335 struct afs_vnode *vnode = AFS_FS_I(subreq->rreq->inode); in afs_issue_read() 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() [all …]
|
| H 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() 353 subreq->transferred += count_before - call->iov_len; in afs_deliver_fs_fetch_data() 391 if (subreq->start + subreq->transferred >= vp->scb.status.size) in afs_deliver_fs_fetch_data() 392 __set_bit(NETFS_SREQ_HIT_EOF, &subreq->flags); 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() [all …]
|
| /linux/crypto/ |
| H A D | seqiv.c | 23 struct aead_request *subreq = aead_request_ctx(req); in seqiv_aead_encrypt_complete2() local 33 memcpy(req->iv, subreq->iv, crypto_aead_ivsize(geniv)); in seqiv_aead_encrypt_complete2() 36 kfree_sensitive(subreq->iv); in seqiv_aead_encrypt_complete2() 51 struct aead_request *subreq = aead_request_ctx(req); in seqiv_aead_encrypt() local 62 aead_request_set_tfm(subreq, ctx->child); in seqiv_aead_encrypt() 85 aead_request_set_callback(subreq, req->base.flags, compl, data); in seqiv_aead_encrypt() 86 aead_request_set_crypt(subreq, req->dst, req->dst, in seqiv_aead_encrypt() 88 aead_request_set_ad(subreq, req->assoclen + ivsize); in seqiv_aead_encrypt() 93 err = crypto_aead_encrypt(subreq); in seqiv_aead_encrypt() 103 struct aead_request *subreq = aead_request_ctx(req); in seqiv_aead_decrypt() local [all …]
|
| H A D | simd.c | 66 struct skcipher_request *subreq; in simd_skcipher_encrypt() local 69 subreq = skcipher_request_ctx(req); in simd_skcipher_encrypt() 70 *subreq = *req; in simd_skcipher_encrypt() 78 skcipher_request_set_tfm(subreq, child); in simd_skcipher_encrypt() 80 return crypto_skcipher_encrypt(subreq); in simd_skcipher_encrypt() 87 struct skcipher_request *subreq; in simd_skcipher_decrypt() local 90 subreq = skcipher_request_ctx(req); in simd_skcipher_decrypt() 91 *subreq = *req; in simd_skcipher_decrypt() 99 skcipher_request_set_tfm(subreq, child); in simd_skcipher_decrypt() 101 return crypto_skcipher_decrypt(subreq); in simd_skcipher_decrypt() [all …]
|
| H A D | essiv.c | 145 struct skcipher_request *subreq = skcipher_request_ctx(req); in essiv_skcipher_crypt() local 149 skcipher_request_set_tfm(subreq, tctx->u.skcipher); in essiv_skcipher_crypt() 150 skcipher_request_set_crypt(subreq, req->src, req->dst, req->cryptlen, in essiv_skcipher_crypt() 152 skcipher_request_set_callback(subreq, skcipher_request_flags(req), in essiv_skcipher_crypt() 155 return enc ? crypto_skcipher_encrypt(subreq) : in essiv_skcipher_crypt() 156 crypto_skcipher_decrypt(subreq); in essiv_skcipher_crypt() 188 struct aead_request *subreq = &rctx->aead_req; in essiv_aead_crypt() local 244 aead_request_set_tfm(subreq, tctx->u.aead); in essiv_aead_crypt() 245 aead_request_set_ad(subreq, req->assoclen); in essiv_aead_crypt() 246 aead_request_set_callback(subreq, aead_request_flags(req), in essiv_aead_crypt() [all …]
|
| H A D | gcm.c | 39 struct aead_request subreq; member 52 struct aead_request subreq; member 719 struct aead_request *subreq = &rctx->subreq; in crypto_rfc4106_crypt() local 722 u8 *iv = PTR_ALIGN((u8 *)(subreq + 1) + crypto_aead_reqsize(child), in crypto_rfc4106_crypt() 744 aead_request_set_tfm(subreq, child); in crypto_rfc4106_crypt() 745 aead_request_set_callback(subreq, req->base.flags, req->base.complete, in crypto_rfc4106_crypt() 747 aead_request_set_crypt(subreq, rctx->src, in crypto_rfc4106_crypt() 750 aead_request_set_ad(subreq, req->assoclen - 8); in crypto_rfc4106_crypt() 752 return subreq; in crypto_rfc4106_crypt() 925 struct aead_request *subreq = &rctx->subreq; in crypto_rfc4543_crypt() local [all …]
|
| /linux/fs/cachefiles/ |
| H A D | io.c | 496 static enum netfs_io_source cachefiles_prepare_read(struct netfs_io_subrequest *subreq, in cachefiles_prepare_read() argument 499 return cachefiles_do_prepare_read(&subreq->rreq->cache_resources, in cachefiles_prepare_read() 500 subreq->start, &subreq->len, i_size, in cachefiles_prepare_read() 501 &subreq->flags, subreq->rreq->inode->i_ino); in cachefiles_prepare_read() 626 static void cachefiles_prepare_write_subreq(struct netfs_io_subrequest *subreq) in cachefiles_prepare_write_subreq() argument 628 struct netfs_io_request *wreq = subreq->rreq; in cachefiles_prepare_write_subreq() 630 struct netfs_io_stream *stream = &wreq->io_streams[subreq->stream_nr]; in cachefiles_prepare_write_subreq() 632 _enter("W=%x[%x] %llx", wreq->debug_id, subreq->debug_index, subreq->start); in cachefiles_prepare_write_subreq() 639 return netfs_prepare_write_failed(subreq); in cachefiles_prepare_write_subreq() 641 return netfs_prepare_write_failed(subreq); in cachefiles_prepare_write_subreq() [all …]
|
| /linux/include/linux/ |
| H A D | netfs.h | 139 void (*prepare_write)(struct netfs_io_subrequest *subreq); 140 void (*issue_write)(struct netfs_io_subrequest *subreq); 297 int (*prepare_read)(struct netfs_io_subrequest *subreq); 298 void (*issue_read)(struct netfs_io_subrequest *subreq); 310 void (*prepare_write)(struct netfs_io_subrequest *subreq); 311 void (*issue_write)(struct netfs_io_subrequest *subreq); 347 void (*issue_write)(struct netfs_io_subrequest *subreq); 358 enum netfs_io_source (*prepare_read)(struct netfs_io_subrequest *subreq, 366 void (*prepare_write_subreq)(struct netfs_io_subrequest *subreq); 433 void netfs_read_subreq_progress(struct netfs_io_subrequest *subreq); [all …]
|
| /linux/fs/nfs/ |
| H A D | write.c | 332 struct nfs_page *subreq = destroy_list; in nfs_destroy_unlinked_subrequests() local 334 destroy_list = (subreq->wb_this_page == old_head) ? in nfs_destroy_unlinked_subrequests() 335 NULL : subreq->wb_this_page; in nfs_destroy_unlinked_subrequests() 338 nfs_page_set_headlock(subreq); in nfs_destroy_unlinked_subrequests() 339 WARN_ON_ONCE(old_head != subreq->wb_head); in nfs_destroy_unlinked_subrequests() 342 subreq->wb_this_page = subreq; in nfs_destroy_unlinked_subrequests() 343 subreq->wb_head = subreq; in nfs_destroy_unlinked_subrequests() 345 clear_bit(PG_REMOVE, &subreq->wb_flags); in nfs_destroy_unlinked_subrequests() 348 if (!kref_read(&subreq->wb_kref)) { in nfs_destroy_unlinked_subrequests() 350 if (test_and_clear_bit(PG_TEARDOWN, &subreq->wb_flags)) { in nfs_destroy_unlinked_subrequests() [all …]
|
| H A D | pagelist.c | 1184 struct nfs_page *subreq; in __nfs_pageio_add_request() local 1189 subreq = req; in __nfs_pageio_add_request() 1190 subreq_size = subreq->wb_bytes; in __nfs_pageio_add_request() 1192 size = nfs_pageio_do_add_request(desc, subreq); in __nfs_pageio_add_request() 1195 if (subreq == req) in __nfs_pageio_add_request() 1201 subreq = req; in __nfs_pageio_add_request() 1204 if (WARN_ON_ONCE(subreq != req)) { in __nfs_pageio_add_request() 1206 nfs_pageio_cleanup_request(desc, subreq); in __nfs_pageio_add_request() 1207 subreq = req; in __nfs_pageio_add_request() 1222 subreq = nfs_create_subreq(req, req->wb_pgbase, in __nfs_pageio_add_request() [all …]
|
| /linux/arch/arm64/crypto/ |
| H A D | sm4-ce-glue.c | 206 struct skcipher_request subreq; in sm4_cbc_cts_crypt() local 217 skcipher_request_set_tfm(&subreq, tfm); in sm4_cbc_cts_crypt() 218 skcipher_request_set_callback(&subreq, skcipher_request_flags(req), in sm4_cbc_cts_crypt() 224 skcipher_request_set_crypt(&subreq, src, dst, in sm4_cbc_cts_crypt() 228 err = sm4_cbc_crypt(&subreq, ctx, encrypt); in sm4_cbc_cts_crypt() 232 dst = src = scatterwalk_ffwd(sg_src, src, subreq.cryptlen); in sm4_cbc_cts_crypt() 235 subreq.cryptlen); in sm4_cbc_cts_crypt() 239 skcipher_request_set_crypt(&subreq, src, dst, in sm4_cbc_cts_crypt() 243 err = skcipher_walk_virt(&walk, &subreq, false); in sm4_cbc_cts_crypt() 317 struct skcipher_request subreq; in sm4_xts_crypt() local [all …]
|
| /linux/fs/ceph/ |
| H A D | addr.c | 217 struct netfs_io_subrequest *subreq = req->r_priv; in finish_netfs_read() local 226 subreq->len, i_size_read(req->r_inode)); in finish_netfs_read() 230 __set_bit(NETFS_SREQ_CLEAR_TAIL, &subreq->flags); in finish_netfs_read() 231 __set_bit(NETFS_SREQ_MADE_PROGRESS, &subreq->flags); in finish_netfs_read() 240 if (err < subreq->len && in finish_netfs_read() 241 subreq->rreq->origin != NETFS_UNBUFFERED_READ && in finish_netfs_read() 242 subreq->rreq->origin != NETFS_DIO_READ) in finish_netfs_read() 243 __set_bit(NETFS_SREQ_CLEAR_TAIL, &subreq->flags); in finish_netfs_read() 246 osd_data->pages, subreq->start, in finish_netfs_read() 249 if (err > subreq->len) in finish_netfs_read() [all …]
|
| /linux/fs/smb/client/ |
| H A D | file.c | 47 static void cifs_prepare_write(struct netfs_io_subrequest *subreq) in cifs_prepare_write() argument 50 container_of(subreq, struct cifs_io_subrequest, subreq); in cifs_prepare_write() 52 struct netfs_io_stream *stream = &req->rreq.io_streams[subreq->stream_nr]; in cifs_prepare_write() 77 subreq->error = rc; in cifs_prepare_write() 78 return netfs_prepare_write_failed(subreq); in cifs_prepare_write() 85 subreq->error = rc; in cifs_prepare_write() 86 return netfs_prepare_write_failed(subreq); in cifs_prepare_write() 89 wdata->credits.rreq_debug_id = subreq->rreq->debug_id; in cifs_prepare_write() 90 wdata->credits.rreq_debug_index = subreq->debug_index; in cifs_prepare_write() 93 wdata->subreq.debug_index, in cifs_prepare_write() [all …]
|
| H A D | smb2pdu.c | 4553 rdata ? rdata->subreq.debug_index : 0, in smb2_new_read_req() 4567 rdata->mr = smbd_register_mr(server->smbd_conn, &rdata->subreq.io_iter, in smb2_new_read_req() 4626 .rreq_debug_index = rdata->subreq.debug_index, in smb2_readv_callback() 4630 unsigned int subreq_debug_index = rdata->subreq.debug_index; in smb2_readv_callback() 4633 rqst.rq_iter = rdata->subreq.io_iter; in smb2_readv_callback() 4642 rdata->got_bytes, rdata->subreq.len - rdata->subreq.transferred); in smb2_readv_callback() 4657 rdata->subreq.error = rc; in smb2_readv_callback() 4661 trace_netfs_sreq(&rdata->subreq, netfs_sreq_trace_io_retry_needed); in smb2_readv_callback() 4662 __set_bit(NETFS_SREQ_NEED_RETRY, &rdata->subreq.flags); in smb2_readv_callback() 4664 trace_netfs_sreq(&rdata->subreq, netfs_sreq_trace_io_bad); in smb2_readv_callback() [all …]
|
| /linux/include/trace/events/ |
| H A D | netfs.h | 462 __field(unsigned int, subreq) 469 __entry->subreq = subreq_debug_index; 476 __entry->subreq, 619 const struct netfs_io_subrequest *subreq), 621 TP_ARGS(wreq, subreq), 625 __field(unsigned int, subreq) 634 __entry->subreq = subreq->debug_index; 635 __entry->stream = subreq->stream_nr; 636 __entry->start = subreq->start; 637 __entry->len = subreq->len; [all …]
|
| /linux/drivers/crypto/ |
| H A D | geode-aes.c | 272 struct skcipher_request *subreq = skcipher_request_ctx(req); in geode_skcipher_crypt() local 274 *subreq = *req; in geode_skcipher_crypt() 275 skcipher_request_set_tfm(subreq, tctx->fallback.skcipher); in geode_skcipher_crypt() 277 return crypto_skcipher_decrypt(subreq); in geode_skcipher_crypt() 279 return crypto_skcipher_encrypt(subreq); in geode_skcipher_crypt()
|
| H A D | sa2ul.c | 1314 struct skcipher_request *subreq = skcipher_request_ctx(req); in sa_cipher_run() local 1316 skcipher_request_set_tfm(subreq, ctx->fallback.skcipher); in sa_cipher_run() 1317 skcipher_request_set_callback(subreq, req->base.flags, in sa_cipher_run() 1320 skcipher_request_set_crypt(subreq, req->src, req->dst, in sa_cipher_run() 1323 return crypto_skcipher_encrypt(subreq); in sa_cipher_run() 1325 return crypto_skcipher_decrypt(subreq); in sa_cipher_run() 1417 struct ahash_request *subreq = &rctx->fallback_req; in sa_sha_run() local 1420 ahash_request_set_tfm(subreq, ctx->fallback.ahash); in sa_sha_run() 1421 ahash_request_set_callback(subreq, req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP, NULL, NULL); in sa_sha_run() 1422 ahash_request_set_crypt(subreq, req->src, req->result, auth_len); in sa_sha_run() [all …]
|