/linux-6.12.1/fs/netfs/ |
D | read_collect.c | 20 static void netfs_clear_unread(struct netfs_io_subrequest *subreq) in netfs_clear_unread() argument 22 netfs_reset_iter(subreq); in netfs_clear_unread() 23 WARN_ON_ONCE(subreq->len - subreq->transferred != iov_iter_count(&subreq->io_iter)); in netfs_clear_unread() 24 iov_iter_zero(iov_iter_count(&subreq->io_iter), &subreq->io_iter); in netfs_clear_unread() 25 if (subreq->start + subreq->transferred >= subreq->rreq->i_size) in netfs_clear_unread() 26 __set_bit(NETFS_SREQ_HIT_EOF, &subreq->flags); in netfs_clear_unread() 34 static void netfs_unlock_read_folio(struct netfs_io_subrequest *subreq, in netfs_unlock_read_folio() argument 56 if (test_bit(NETFS_SREQ_COPY_TO_CACHE, &subreq->flags)) { in netfs_unlock_read_folio() 67 if (test_bit(NETFS_SREQ_COPY_TO_CACHE, &subreq->flags)) in netfs_unlock_read_folio() 68 netfs_pgpriv2_mark_copy_to_cache(subreq, rreq, folioq, slot); in netfs_unlock_read_folio() [all …]
|
D | read_retry.c | 13 struct netfs_io_subrequest *subreq) in netfs_reissue_read() argument 15 struct iov_iter *io_iter = &subreq->io_iter; in netfs_reissue_read() 18 subreq->curr_folioq = (struct folio_queue *)io_iter->folioq; in netfs_reissue_read() 19 subreq->curr_folioq_slot = io_iter->folioq_slot; in netfs_reissue_read() 20 subreq->curr_folio_order = subreq->curr_folioq->orders[subreq->curr_folioq_slot]; in netfs_reissue_read() 24 __set_bit(NETFS_SREQ_IN_PROGRESS, &subreq->flags); in netfs_reissue_read() 25 netfs_get_subrequest(subreq, netfs_sreq_trace_get_resubmit); in netfs_reissue_read() 26 subreq->rreq->netfs_ops->issue_read(subreq); in netfs_reissue_read() 35 struct netfs_io_subrequest *subreq; in netfs_retry_read_subrequests() local 53 struct netfs_io_subrequest *subreq; in netfs_retry_read_subrequests() local [all …]
|
D | write_collect.c | 173 struct netfs_io_subrequest *subreq; in netfs_retry_write_stream() local 175 list_for_each_entry(subreq, &stream->subrequests, rreq_link) { in netfs_retry_write_stream() 176 if (test_bit(NETFS_SREQ_FAILED, &subreq->flags)) in netfs_retry_write_stream() 178 if (__test_and_clear_bit(NETFS_SREQ_NEED_RETRY, &subreq->flags)) { in netfs_retry_write_stream() 179 struct iov_iter source = subreq->io_iter; in netfs_retry_write_stream() 181 iov_iter_revert(&source, subreq->len - source.count); in netfs_retry_write_stream() 182 __set_bit(NETFS_SREQ_RETRYING, &subreq->flags); in netfs_retry_write_stream() 183 netfs_get_subrequest(subreq, netfs_sreq_trace_get_resubmit); in netfs_retry_write_stream() 184 netfs_reissue_write(stream, subreq, &source); in netfs_retry_write_stream() 193 struct netfs_io_subrequest *subreq = NULL, *from, *to, *tmp; in netfs_retry_write_stream() local [all …]
|
D | buffered_read.c | 112 static ssize_t netfs_prepare_read_iterator(struct netfs_io_subrequest *subreq) in netfs_prepare_read_iterator() argument 114 struct netfs_io_request *rreq = subreq->rreq; in netfs_prepare_read_iterator() 115 size_t rsize = subreq->len; in netfs_prepare_read_iterator() 117 if (subreq->source == NETFS_DOWNLOAD_FROM_SERVER) in netfs_prepare_read_iterator() 130 while (rreq->submitted < subreq->start + rsize) { in netfs_prepare_read_iterator() 149 subreq->len = rsize; in netfs_prepare_read_iterator() 155 subreq->len = limit; in netfs_prepare_read_iterator() 156 trace_netfs_sreq(subreq, netfs_sreq_trace_limited); in netfs_prepare_read_iterator() 160 subreq->io_iter = rreq->iter; in netfs_prepare_read_iterator() 162 if (iov_iter_is_folioq(&subreq->io_iter)) { in netfs_prepare_read_iterator() [all …]
|
D | objects.c | 91 struct netfs_io_subrequest *subreq; in netfs_clear_subrequests() local 96 subreq = list_first_entry(&rreq->subrequests, in netfs_clear_subrequests() 98 list_del(&subreq->rreq_link); in netfs_clear_subrequests() 99 netfs_put_subrequest(subreq, was_async, in netfs_clear_subrequests() 106 subreq = list_first_entry(&stream->subrequests, in netfs_clear_subrequests() 108 list_del(&subreq->rreq_link); in netfs_clear_subrequests() 109 netfs_put_subrequest(subreq, was_async, in netfs_clear_subrequests() 181 struct netfs_io_subrequest *subreq; in netfs_alloc_subrequest() local 186 subreq = mempool_alloc(rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool, in netfs_alloc_subrequest() 188 if (subreq) in netfs_alloc_subrequest() [all …]
|
D | write_issue.c | 140 void netfs_prepare_write_failed(struct netfs_io_subrequest *subreq) in netfs_prepare_write_failed() argument 142 __set_bit(NETFS_SREQ_FAILED, &subreq->flags); in netfs_prepare_write_failed() 143 trace_netfs_sreq(subreq, netfs_sreq_trace_prep_failed); in netfs_prepare_write_failed() 155 struct netfs_io_subrequest *subreq; in netfs_prepare_write() local 167 subreq = netfs_alloc_subrequest(wreq); in netfs_prepare_write() 168 subreq->source = stream->source; in netfs_prepare_write() 169 subreq->start = start; in netfs_prepare_write() 170 subreq->stream_nr = stream->stream_nr; in netfs_prepare_write() 171 subreq->io_iter = *wreq_iter; in netfs_prepare_write() 173 _enter("R=%x[%x]", wreq->debug_id, subreq->debug_index); in netfs_prepare_write() [all …]
|
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->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->iter, subreq->len); in netfs_prepare_dio_read_iterator() [all …]
|
/linux-6.12.1/fs/afs/ |
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, false); in afs_issue_write_worker() 125 if (!test_bit(NETFS_SREQ_RETRYING, &subreq->flags)) { in afs_issue_write_worker() [all …]
|
D | file.c | 241 struct netfs_io_subrequest *subreq = req->subreq; in afs_fetch_data_notify() local 245 if (subreq) { in afs_fetch_data_notify() 246 subreq->rreq->i_size = req->file_size; in afs_fetch_data_notify() 248 __set_bit(NETFS_SREQ_HIT_EOF, &subreq->flags); in afs_fetch_data_notify() 249 netfs_read_subreq_terminated(subreq, error, false); in afs_fetch_data_notify() 250 req->subreq = NULL; in afs_fetch_data_notify() 304 if (req->subreq) in afs_fetch_data() 305 netfs_read_subreq_terminated(req->subreq, PTR_ERR(op), false); in afs_fetch_data() 318 struct netfs_io_subrequest *subreq = container_of(work, struct netfs_io_subrequest, work); in afs_read_worker() local 319 struct afs_vnode *vnode = AFS_FS_I(subreq->rreq->inode); in afs_read_worker() [all …]
|
/linux-6.12.1/fs/9p/ |
D | vfs_addr.c | 54 static void v9fs_issue_write(struct netfs_io_subrequest *subreq) in v9fs_issue_write() argument 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() 60 netfs_write_subrequest_terminated(subreq, len ?: err, false); in v9fs_issue_write() 67 static void v9fs_issue_read(struct netfs_io_subrequest *subreq) in v9fs_issue_read() argument 69 struct netfs_io_request *rreq = subreq->rreq; in v9fs_issue_read() 71 unsigned long long pos = subreq->start + subreq->transferred; in v9fs_issue_read() 74 total = p9_client_read(fid, pos, &subreq->io_iter, &err); in v9fs_issue_read() 78 if (subreq->rreq->origin != NETFS_DIO_READ) in v9fs_issue_read() 79 __set_bit(NETFS_SREQ_CLEAR_TAIL, &subreq->flags); in v9fs_issue_read() [all …]
|
/linux-6.12.1/crypto/ |
D | cts.c | 62 struct skcipher_request subreq; member 102 struct skcipher_request *subreq = &rctx->subreq; in cts_cbc_encrypt() local 121 skcipher_request_set_callback(subreq, req->base.flags & in cts_cbc_encrypt() 124 skcipher_request_set_crypt(subreq, sg, sg, bsize, req->iv); in cts_cbc_encrypt() 125 return crypto_skcipher_encrypt(subreq); in cts_cbc_encrypt() 148 struct skcipher_request *subreq = &rctx->subreq; in crypto_cts_encrypt() local 153 skcipher_request_set_tfm(subreq, ctx->child); in crypto_cts_encrypt() 159 skcipher_request_set_callback(subreq, req->base.flags, in crypto_cts_encrypt() 162 skcipher_request_set_crypt(subreq, req->src, req->dst, nbytes, in crypto_cts_encrypt() 164 return crypto_skcipher_encrypt(subreq); in crypto_cts_encrypt() [all …]
|
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 61 aead_request_set_tfm(subreq, ctx->child); in seqiv_aead_encrypt() 94 aead_request_set_callback(subreq, req->base.flags, compl, data); in seqiv_aead_encrypt() 95 aead_request_set_crypt(subreq, req->dst, req->dst, in seqiv_aead_encrypt() 97 aead_request_set_ad(subreq, req->assoclen + ivsize); in seqiv_aead_encrypt() 102 err = crypto_aead_encrypt(subreq); in seqiv_aead_encrypt() 112 struct aead_request *subreq = aead_request_ctx(req); in seqiv_aead_decrypt() local [all …]
|
D | echainiv.c | 30 struct aead_request *subreq = aead_request_ctx(req); in echainiv_encrypt() local 40 aead_request_set_tfm(subreq, ctx->child); in echainiv_encrypt() 59 aead_request_set_callback(subreq, req->base.flags, in echainiv_encrypt() 61 aead_request_set_crypt(subreq, req->dst, req->dst, in echainiv_encrypt() 63 aead_request_set_ad(subreq, req->assoclen); in echainiv_encrypt() 82 return crypto_aead_encrypt(subreq); in echainiv_encrypt() 89 struct aead_request *subreq = aead_request_ctx(req); in echainiv_decrypt() local 97 aead_request_set_tfm(subreq, ctx->child); in echainiv_decrypt() 102 aead_request_set_callback(subreq, req->base.flags, compl, data); in echainiv_decrypt() 103 aead_request_set_crypt(subreq, req->src, req->dst, in echainiv_decrypt() [all …]
|
D | xts.c | 38 struct skcipher_request subreq; member 94 req = &rctx->subreq; in xts_xor_tweak() 166 struct skcipher_request *subreq = &rctx->subreq; in xts_cts_final() local 182 skcipher_request_set_tfm(subreq, ctx->child); in xts_cts_final() 183 skcipher_request_set_callback(subreq, req->base.flags, xts_cts_done, in xts_cts_final() 185 skcipher_request_set_crypt(subreq, rctx->tail, rctx->tail, in xts_cts_final() 188 err = crypt(subreq); in xts_cts_final() 206 rctx->subreq.base.flags &= CRYPTO_TFM_REQ_MAY_BACKLOG; in xts_encrypt_done() 226 rctx->subreq.base.flags &= CRYPTO_TFM_REQ_MAY_BACKLOG; in xts_decrypt_done() 245 struct skcipher_request *subreq = &rctx->subreq; in xts_init_crypt() local [all …]
|
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 …]
|
D | lrw.c | 54 struct skcipher_request subreq; member 153 req = &rctx->subreq; in lrw_xor_tweak() 215 rctx->subreq.base.flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP; in lrw_crypt_done() 227 struct skcipher_request *subreq = &rctx->subreq; in lrw_init_crypt() local 229 skcipher_request_set_tfm(subreq, ctx->child); in lrw_init_crypt() 230 skcipher_request_set_callback(subreq, req->base.flags, lrw_crypt_done, in lrw_init_crypt() 233 skcipher_request_set_crypt(subreq, req->dst, req->dst, in lrw_init_crypt() 246 struct skcipher_request *subreq = &rctx->subreq; in lrw_encrypt() local 250 crypto_skcipher_encrypt(subreq) ?: in lrw_encrypt() 257 struct skcipher_request *subreq = &rctx->subreq; in lrw_decrypt() local [all …]
|
D | cryptd.c | 244 struct skcipher_request *subreq = &rctx->req; in cryptd_skcipher_prepare() local 248 req->base.complete = subreq->base.complete; in cryptd_skcipher_prepare() 249 req->base.data = subreq->base.data; in cryptd_skcipher_prepare() 257 skcipher_request_set_tfm(subreq, child); in cryptd_skcipher_prepare() 258 skcipher_request_set_callback(subreq, CRYPTO_TFM_REQ_MAY_SLEEP, in cryptd_skcipher_prepare() 260 skcipher_request_set_crypt(subreq, req->src, req->dst, req->cryptlen, in cryptd_skcipher_prepare() 263 return subreq; in cryptd_skcipher_prepare() 272 struct skcipher_request *subreq = &rctx->req; in cryptd_skcipher_complete() local 280 subreq->base.complete = req->base.complete; in cryptd_skcipher_complete() 281 subreq->base.data = req->base.data; in cryptd_skcipher_complete() [all …]
|
D | ahash.c | 270 struct ahash_request *subreq; in ahash_save_req() local 277 subreq_size = sizeof(*subreq); in ahash_save_req() 285 subreq = kmalloc(subreq_size, gfp); in ahash_save_req() 286 if (!subreq) in ahash_save_req() 289 ahash_request_set_tfm(subreq, tfm); in ahash_save_req() 290 ahash_request_set_callback(subreq, flags, cplt, req); in ahash_save_req() 292 result = (u8 *)(subreq + 1) + reqsize; in ahash_save_req() 294 ahash_request_set_crypt(subreq, req->src, result, req->nbytes); in ahash_save_req() 301 kfree(subreq); in ahash_save_req() 306 crypto_ahash_import(subreq, state); in ahash_save_req() [all …]
|
/linux-6.12.1/fs/cachefiles/ |
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-6.12.1/arch/arm/crypto/ |
D | aes-ce-glue.c | 274 struct skcipher_request subreq; in cts_cbc_encrypt() local 278 skcipher_request_set_tfm(&subreq, tfm); in cts_cbc_encrypt() 279 skcipher_request_set_callback(&subreq, skcipher_request_flags(req), in cts_cbc_encrypt() 289 skcipher_request_set_crypt(&subreq, req->src, req->dst, in cts_cbc_encrypt() 293 err = skcipher_walk_virt(&walk, &subreq, false) ?: in cts_cbc_encrypt() 294 cbc_encrypt_walk(&subreq, &walk); in cts_cbc_encrypt() 301 dst = src = scatterwalk_ffwd(sg_src, req->src, subreq.cryptlen); in cts_cbc_encrypt() 304 subreq.cryptlen); in cts_cbc_encrypt() 308 skcipher_request_set_crypt(&subreq, src, dst, in cts_cbc_encrypt() 312 err = skcipher_walk_virt(&walk, &subreq, false); in cts_cbc_encrypt() [all …]
|
/linux-6.12.1/include/linux/ |
D | netfs.h | 139 void (*prepare_write)(struct netfs_io_subrequest *subreq); 140 void (*issue_write)(struct netfs_io_subrequest *subreq); 302 int (*prepare_read)(struct netfs_io_subrequest *subreq); 303 void (*issue_read)(struct netfs_io_subrequest *subreq); 315 void (*prepare_write)(struct netfs_io_subrequest *subreq); 316 void (*issue_write)(struct netfs_io_subrequest *subreq); 353 void (*issue_write)(struct netfs_io_subrequest *subreq); 364 enum netfs_io_source (*prepare_read)(struct netfs_io_subrequest *subreq, 372 void (*prepare_write_subreq)(struct netfs_io_subrequest *subreq); 432 void netfs_read_subreq_progress(struct netfs_io_subrequest *subreq, [all …]
|
/linux-6.12.1/fs/nfs/ |
D | write.c | 359 struct nfs_page *subreq = destroy_list; in nfs_destroy_unlinked_subrequests() local 361 destroy_list = (subreq->wb_this_page == old_head) ? in nfs_destroy_unlinked_subrequests() 362 NULL : subreq->wb_this_page; in nfs_destroy_unlinked_subrequests() 365 nfs_page_set_headlock(subreq); in nfs_destroy_unlinked_subrequests() 366 WARN_ON_ONCE(old_head != subreq->wb_head); in nfs_destroy_unlinked_subrequests() 369 subreq->wb_this_page = subreq; in nfs_destroy_unlinked_subrequests() 370 subreq->wb_head = subreq; in nfs_destroy_unlinked_subrequests() 372 clear_bit(PG_REMOVE, &subreq->wb_flags); in nfs_destroy_unlinked_subrequests() 375 if (!kref_read(&subreq->wb_kref)) { in nfs_destroy_unlinked_subrequests() 377 if (test_and_clear_bit(PG_TEARDOWN, &subreq->wb_flags)) { in nfs_destroy_unlinked_subrequests() [all …]
|
/linux-6.12.1/arch/arm64/crypto/ |
D | aes-glue.c | 285 struct skcipher_request subreq; in cts_cbc_encrypt() local 288 skcipher_request_set_tfm(&subreq, tfm); in cts_cbc_encrypt() 289 skcipher_request_set_callback(&subreq, skcipher_request_flags(req), in cts_cbc_encrypt() 299 skcipher_request_set_crypt(&subreq, req->src, req->dst, in cts_cbc_encrypt() 303 err = skcipher_walk_virt(&walk, &subreq, false) ?: in cts_cbc_encrypt() 304 cbc_encrypt_walk(&subreq, &walk); in cts_cbc_encrypt() 311 dst = src = scatterwalk_ffwd(sg_src, req->src, subreq.cryptlen); in cts_cbc_encrypt() 314 subreq.cryptlen); in cts_cbc_encrypt() 318 skcipher_request_set_crypt(&subreq, src, dst, in cts_cbc_encrypt() 322 err = skcipher_walk_virt(&walk, &subreq, false); in cts_cbc_encrypt() [all …]
|
/linux-6.12.1/include/trace/events/ |
D | netfs.h | 418 __field(unsigned int, subreq ) 425 __entry->subreq = subreq_debug_index; 432 __entry->subreq, 546 const struct netfs_io_subrequest *subreq), 548 TP_ARGS(wreq, subreq), 552 __field(unsigned int, subreq ) 561 __entry->subreq = subreq->debug_index; 562 __entry->stream = subreq->stream_nr; 563 __entry->start = subreq->start; 564 __entry->len = subreq->len; [all …]
|
/linux-6.12.1/arch/powerpc/crypto/ |
D | aes_cbc.c | 80 struct skcipher_request *subreq = skcipher_request_ctx(req); in p8_aes_cbc_crypt() local 82 *subreq = *req; in p8_aes_cbc_crypt() 83 skcipher_request_set_tfm(subreq, ctx->fallback); in p8_aes_cbc_crypt() 84 return enc ? crypto_skcipher_encrypt(subreq) : in p8_aes_cbc_crypt() 85 crypto_skcipher_decrypt(subreq); in p8_aes_cbc_crypt()
|