/linux-6.12.1/fs/netfs/ |
D | objects.c | 24 struct netfs_io_request *rreq; in netfs_alloc_request() local 30 rreq = mempool_alloc(mempool, GFP_KERNEL); in netfs_alloc_request() 31 if (rreq) in netfs_alloc_request() 36 memset(rreq, 0, kmem_cache_size(cache)); in netfs_alloc_request() 37 rreq->start = start; in netfs_alloc_request() 38 rreq->len = len; in netfs_alloc_request() 39 rreq->origin = origin; in netfs_alloc_request() 40 rreq->netfs_ops = ctx->ops; in netfs_alloc_request() 41 rreq->mapping = mapping; in netfs_alloc_request() 42 rreq->inode = inode; in netfs_alloc_request() [all …]
|
D | direct_read.c | 21 struct netfs_io_request *rreq = subreq->rreq; in netfs_prepare_dio_read_iterator() local 24 rsize = umin(subreq->len, rreq->io_streams[0].sreq_max_len); in netfs_prepare_dio_read_iterator() 27 if (unlikely(rreq->io_streams[0].sreq_max_segs)) { in netfs_prepare_dio_read_iterator() 28 size_t limit = netfs_limit_iter(&rreq->iter, 0, rsize, in netfs_prepare_dio_read_iterator() 29 rreq->io_streams[0].sreq_max_segs); in netfs_prepare_dio_read_iterator() 39 subreq->io_iter = rreq->iter; in netfs_prepare_dio_read_iterator() 41 iov_iter_advance(&rreq->iter, subreq->len); in netfs_prepare_dio_read_iterator() 48 static int netfs_dispatch_unbuffered_reads(struct netfs_io_request *rreq) in netfs_dispatch_unbuffered_reads() argument 50 unsigned long long start = rreq->start; in netfs_dispatch_unbuffered_reads() 51 ssize_t size = rreq->len; in netfs_dispatch_unbuffered_reads() [all …]
|
D | buffered_read.c | 12 static void netfs_cache_expand_readahead(struct netfs_io_request *rreq, in netfs_cache_expand_readahead() argument 17 struct netfs_cache_resources *cres = &rreq->cache_resources; in netfs_cache_expand_readahead() 23 static void netfs_rreq_expand(struct netfs_io_request *rreq, in netfs_rreq_expand() argument 29 netfs_cache_expand_readahead(rreq, &rreq->start, &rreq->len, rreq->i_size); in netfs_rreq_expand() 34 if (rreq->netfs_ops->expand_readahead) in netfs_rreq_expand() 35 rreq->netfs_ops->expand_readahead(rreq); in netfs_rreq_expand() 46 if (rreq->start != readahead_pos(ractl) || in netfs_rreq_expand() 47 rreq->len != readahead_length(ractl)) { in netfs_rreq_expand() 48 readahead_expand(ractl, rreq->start, rreq->len); in netfs_rreq_expand() 49 rreq->start = readahead_pos(ractl); in netfs_rreq_expand() [all …]
|
D | read_collect.c | 25 if (subreq->start + subreq->transferred >= subreq->rreq->i_size) in netfs_clear_unread() 35 struct netfs_io_request *rreq, in netfs_unlock_read_folio() argument 45 if (!test_bit(NETFS_RREQ_USE_PGPRIV2, &rreq->flags)) { in netfs_unlock_read_folio() 68 netfs_pgpriv2_mark_copy_to_cache(subreq, rreq, folioq, slot); in netfs_unlock_read_folio() 71 if (!test_bit(NETFS_RREQ_DONT_UNLOCK_FOLIOS, &rreq->flags)) { in netfs_unlock_read_folio() 72 if (folio->index == rreq->no_unlock_folio && in netfs_unlock_read_folio() 73 test_bit(NETFS_RREQ_NO_UNLOCK_FOLIO, &rreq->flags)) { in netfs_unlock_read_folio() 91 struct netfs_io_request *rreq = subreq->rreq; in netfs_consume_read_data() local 100 rreq->debug_id, subreq->debug_index, in netfs_consume_read_data() 113 rreq->debug_id, subreq->debug_index, in netfs_consume_read_data() [all …]
|
D | read_retry.c | 12 static void netfs_reissue_read(struct netfs_io_request *rreq, in netfs_reissue_read() argument 23 atomic_inc(&rreq->nr_outstanding); in netfs_reissue_read() 26 subreq->rreq->netfs_ops->issue_read(subreq); in netfs_reissue_read() 33 static void netfs_retry_read_subrequests(struct netfs_io_request *rreq) in netfs_retry_read_subrequests() argument 36 struct netfs_io_stream *stream0 = &rreq->io_streams[0]; in netfs_retry_read_subrequests() 40 _enter("R=%x", rreq->debug_id); in netfs_retry_read_subrequests() 42 if (list_empty(&rreq->subrequests)) in netfs_retry_read_subrequests() 45 if (rreq->netfs_ops->retry_request) in netfs_retry_read_subrequests() 46 rreq->netfs_ops->retry_request(rreq, NULL); in netfs_retry_read_subrequests() 51 if (!rreq->netfs_ops->prepare_read && in netfs_retry_read_subrequests() [all …]
|
D | misc.c | 14 struct folio_queue *netfs_buffer_make_space(struct netfs_io_request *rreq) in netfs_buffer_make_space() argument 16 struct folio_queue *tail = rreq->buffer_tail, *prev; in netfs_buffer_make_space() 19 if (WARN_ON_ONCE(!rreq->buffer && tail) || in netfs_buffer_make_space() 20 WARN_ON_ONCE(rreq->buffer && !tail)) in netfs_buffer_make_space() 42 rreq->buffer_tail = tail; in netfs_buffer_make_space() 43 if (!rreq->buffer) { in netfs_buffer_make_space() 44 rreq->buffer = tail; in netfs_buffer_make_space() 45 iov_iter_folio_queue(&rreq->io_iter, ITER_SOURCE, tail, 0, 0, 0); in netfs_buffer_make_space() 50 if (rreq->io_iter.folioq == prev && in netfs_buffer_make_space() 51 rreq->io_iter.folioq_slot == prev_nr_slots) { in netfs_buffer_make_space() [all …]
|
D | main.c | 54 struct netfs_io_request *rreq; in netfs_requests_seq_show() local 64 rreq = list_entry(v, struct netfs_io_request, proc_link); in netfs_requests_seq_show() 67 rreq->debug_id, in netfs_requests_seq_show() 68 netfs_origins[rreq->origin], in netfs_requests_seq_show() 69 refcount_read(&rreq->ref), in netfs_requests_seq_show() 70 rreq->flags, in netfs_requests_seq_show() 71 rreq->error, in netfs_requests_seq_show() 72 atomic_read(&rreq->nr_outstanding), in netfs_requests_seq_show() 73 rreq->start, rreq->submitted, rreq->len); in netfs_requests_seq_show()
|
D | internal.h | 39 static inline void netfs_proc_add_rreq(struct netfs_io_request *rreq) in netfs_proc_add_rreq() argument 42 list_add_tail_rcu(&rreq->proc_link, &netfs_io_requests); in netfs_proc_add_rreq() 45 static inline void netfs_proc_del_rreq(struct netfs_io_request *rreq) in netfs_proc_del_rreq() argument 47 if (!list_empty(&rreq->proc_link)) { in netfs_proc_del_rreq() 49 list_del_rcu(&rreq->proc_link); in netfs_proc_del_rreq() 54 static inline void netfs_proc_add_rreq(struct netfs_io_request *rreq) {} in netfs_proc_add_rreq() argument 55 static inline void netfs_proc_del_rreq(struct netfs_io_request *rreq) {} in netfs_proc_del_rreq() argument 61 struct folio_queue *netfs_buffer_make_space(struct netfs_io_request *rreq); 62 int netfs_buffer_append_folio(struct netfs_io_request *rreq, struct folio *folio, 65 void netfs_clear_buffer(struct netfs_io_request *rreq); [all …]
|
D | read_pgpriv2.c | 22 struct netfs_io_request *rreq, in netfs_pgpriv2_mark_copy_to_cache() argument 140 void netfs_pgpriv2_write_to_the_cache(struct netfs_io_request *rreq) in netfs_pgpriv2_write_to_the_cache() argument 150 if (!fscache_resources_valid(&rreq->cache_resources)) in netfs_pgpriv2_write_to_the_cache() 154 for (folioq = rreq->buffer; folioq; folioq = folioq->next) { in netfs_pgpriv2_write_to_the_cache() 164 wreq = netfs_create_write_req(rreq->mapping, NULL, folio_pos(folio), in netfs_pgpriv2_write_to_the_cache() 197 netfs_pgpriv2_cancel(rreq->buffer); in netfs_pgpriv2_write_to_the_cache()
|
/linux-6.12.1/fs/9p/ |
D | vfs_addr.c | 56 struct p9_fid *fid = subreq->rreq->netfs_priv; in v9fs_issue_write() 69 struct netfs_io_request *rreq = subreq->rreq; in v9fs_issue_read() local 70 struct p9_fid *fid = rreq->netfs_priv; in v9fs_issue_read() 78 if (subreq->rreq->origin != NETFS_DIO_READ) in v9fs_issue_read() 80 if (pos + total >= i_size_read(rreq->inode)) in v9fs_issue_read() 94 static int v9fs_init_request(struct netfs_io_request *rreq, struct file *file) in v9fs_init_request() argument 97 bool writing = (rreq->origin == NETFS_READ_FOR_WRITE || in v9fs_init_request() 98 rreq->origin == NETFS_WRITETHROUGH || in v9fs_init_request() 99 rreq->origin == NETFS_UNBUFFERED_WRITE || in v9fs_init_request() 100 rreq->origin == NETFS_DIO_WRITE); in v9fs_init_request() [all …]
|
/linux-6.12.1/include/trace/events/ |
D | netfs.h | 246 TP_PROTO(struct netfs_io_request *rreq, 250 TP_ARGS(rreq, start, len, what), 253 __field(unsigned int, rreq ) 263 __entry->rreq = rreq->debug_id; 264 __entry->cookie = rreq->cache_resources.debug_id; 265 __entry->i_size = rreq->i_size; 269 __entry->netfs_inode = rreq->inode->i_ino; 273 __entry->rreq, 281 TP_PROTO(struct netfs_io_request *rreq, 284 TP_ARGS(rreq, what), [all …]
|
/linux-6.12.1/fs/nfs/ |
D | fscache.c | 264 static int nfs_netfs_init_request(struct netfs_io_request *rreq, struct file *file) in nfs_netfs_init_request() argument 266 rreq->netfs_priv = get_nfs_open_context(nfs_file_open_context(file)); in nfs_netfs_init_request() 267 rreq->debug_id = atomic_inc_return(&nfs_netfs_debug_id); in nfs_netfs_init_request() 269 __set_bit(NETFS_RREQ_USE_PGPRIV2, &rreq->flags); in nfs_netfs_init_request() 270 rreq->io_streams[0].sreq_max_len = NFS_SB(rreq->inode->i_sb)->rsize; in nfs_netfs_init_request() 275 static void nfs_netfs_free_request(struct netfs_io_request *rreq) in nfs_netfs_free_request() argument 277 put_nfs_open_context(rreq->netfs_priv); in nfs_netfs_free_request() 296 struct inode *inode = sreq->rreq->inode; in nfs_netfs_issue_read() 297 struct nfs_open_context *ctx = sreq->rreq->netfs_priv; in nfs_netfs_issue_read() 315 xa_for_each_range(&sreq->rreq->mapping->i_pages, idx, page, start, last) { in nfs_netfs_issue_read() [all …]
|
/linux-6.12.1/drivers/infiniband/sw/siw/ |
D | siw_qp.c | 294 struct siw_sqe *rreq = NULL; in siw_qp_mpa_rts() local 301 rreq = orq_get_free(qp); in siw_qp_mpa_rts() 302 if (rreq) { in siw_qp_mpa_rts() 303 siw_read_to_orq(rreq, &wqe->sqe); in siw_qp_mpa_rts() 464 struct iwarp_rdma_rreq *rreq; in siw_send_terminate() local 472 rreq = (struct iwarp_rdma_rreq *)err_hdr; in siw_send_terminate() 474 memcpy(&rreq->ctrl, in siw_send_terminate() 478 rreq->rsvd = 0; in siw_send_terminate() 479 rreq->ddp_qn = in siw_send_terminate() 483 rreq->ddp_msn = htonl(wqe->sqe.sge[0].length); in siw_send_terminate() [all …]
|
D | siw_qp_rx.c | 661 uint64_t raddr = be64_to_cpu(srx->hdr.rreq.sink_to), in siw_init_rresp() 662 laddr = be64_to_cpu(srx->hdr.rreq.source_to); in siw_init_rresp() 663 uint32_t length = be32_to_cpu(srx->hdr.rreq.read_size), in siw_init_rresp() 664 lkey = be32_to_cpu(srx->hdr.rreq.source_stag), in siw_init_rresp() 665 rkey = be32_to_cpu(srx->hdr.rreq.sink_stag), in siw_init_rresp() 666 msn = be32_to_cpu(srx->hdr.rreq.ddp_msn); in siw_init_rresp() 1133 struct siw_sqe *rreq; in siw_check_tx_fence() local 1140 rreq = orq_get_current(qp); in siw_check_tx_fence() 1141 WRITE_ONCE(rreq->flags, 0); in siw_check_tx_fence() 1157 rreq = orq_get_free(qp); in siw_check_tx_fence() [all …]
|
D | siw_qp_tx.c | 130 c_tx->pkt.rreq.rsvd = 0; in siw_qp_prepare_tx() 131 c_tx->pkt.rreq.ddp_qn = htonl(RDMAP_UNTAGGED_QN_RDMA_READ); in siw_qp_prepare_tx() 132 c_tx->pkt.rreq.ddp_msn = in siw_qp_prepare_tx() 134 c_tx->pkt.rreq.ddp_mo = 0; in siw_qp_prepare_tx() 135 c_tx->pkt.rreq.sink_stag = htonl(wqe->sqe.sge[0].lkey); in siw_qp_prepare_tx() 136 c_tx->pkt.rreq.sink_to = in siw_qp_prepare_tx() 138 c_tx->pkt.rreq.source_stag = htonl(wqe->sqe.rkey); in siw_qp_prepare_tx() 139 c_tx->pkt.rreq.source_to = cpu_to_be64(wqe->sqe.raddr); in siw_qp_prepare_tx() 140 c_tx->pkt.rreq.read_size = htonl(wqe->sqe.sge[0].length); in siw_qp_prepare_tx()
|
D | siw.h | 351 struct iwarp_rdma_rreq rreq; member 371 struct iwarp_rdma_rreq rreq; member 521 void siw_read_to_orq(struct siw_sqe *rreq, struct siw_sqe *sqe);
|
/linux-6.12.1/net/9p/ |
D | trans_fd.c | 119 struct p9_req_t *rreq; member 313 if ((!m->rreq) && (m->rc.offset == m->rc.capacity)) { in p9_read_work() 329 m->rreq = p9_tag_lookup(m->client, m->rc.tag); in p9_read_work() 330 if (!m->rreq || (m->rreq->status != REQ_STATUS_SENT)) { in p9_read_work() 337 if (m->rc.size > m->rreq->rc.capacity) { in p9_read_work() 340 m->rc.size, m->rc.tag, m->rreq->rc.capacity); in p9_read_work() 345 if (!m->rreq->rc.sdata) { in p9_read_work() 348 m->rc.tag, m->rreq); in p9_read_work() 349 p9_req_put(m->client, m->rreq); in p9_read_work() 350 m->rreq = NULL; in p9_read_work() [all …]
|
/linux-6.12.1/tools/net/ynl/samples/ |
D | ethtool.c | 14 struct ethtool_rings_get_req_dump rreq = {}; in main() local 41 rreq._present.header = 1; /* ethtool needs an empty nest.. */ in main() 42 rings = ethtool_rings_get_dump(ys, &rreq); in main()
|
/linux-6.12.1/fs/ceph/ |
D | addr.c | 165 static void ceph_netfs_expand_readahead(struct netfs_io_request *rreq) in ceph_netfs_expand_readahead() argument 167 struct inode *inode = rreq->inode; in ceph_netfs_expand_readahead() 171 loff_t end = rreq->start + rreq->len, new_end; in ceph_netfs_expand_readahead() 172 struct ceph_netfs_request_data *priv = rreq->netfs_priv; in ceph_netfs_expand_readahead() 196 new_end = umin(round_up(end, lo->stripe_unit), rreq->i_size); in ceph_netfs_expand_readahead() 197 if (new_end > end && new_end <= rreq->start + max_len) in ceph_netfs_expand_readahead() 198 rreq->len = new_end - rreq->start; in ceph_netfs_expand_readahead() 201 div_u64_rem(rreq->start, lo->stripe_unit, &blockoff); in ceph_netfs_expand_readahead() 202 if (rreq->len + blockoff <= max_len) { in ceph_netfs_expand_readahead() 203 rreq->start -= blockoff; in ceph_netfs_expand_readahead() [all …]
|
/linux-6.12.1/fs/afs/ |
D | file.c | 246 subreq->rreq->i_size = req->file_size; in afs_fetch_data_notify() 319 struct afs_vnode *vnode = AFS_FS_I(subreq->rreq->inode); in afs_read_worker() 329 fsreq->key = key_get(subreq->rreq->netfs_priv); in afs_read_worker() 368 static int afs_init_request(struct netfs_io_request *rreq, struct file *file) in afs_init_request() argument 371 rreq->netfs_priv = key_get(afs_file_key(file)); in afs_init_request() 372 rreq->rsize = 256 * 1024; in afs_init_request() 373 rreq->wsize = 256 * 1024 * 1024; in afs_init_request() 385 static void afs_free_request(struct netfs_io_request *rreq) in afs_free_request() argument 387 key_put(rreq->netfs_priv); in afs_free_request() 388 afs_put_wb_key(rreq->netfs_priv2); in afs_free_request()
|
D | write.c | 92 struct netfs_io_stream *stream = &subreq->rreq->io_streams[subreq->stream_nr]; in afs_prepare_write() 106 struct netfs_io_request *wreq = subreq->rreq; in afs_issue_write_worker()
|
/linux-6.12.1/include/linux/ |
D | netfs.h | 174 struct netfs_io_request *rreq; /* Supervising I/O request */ member 296 int (*init_request)(struct netfs_io_request *rreq, struct file *file); 297 void (*free_request)(struct netfs_io_request *rreq); 298 void (*free_subrequest)(struct netfs_io_subrequest *rreq); 301 void (*expand_readahead)(struct netfs_io_request *rreq); 304 bool (*is_still_valid)(struct netfs_io_request *rreq); 307 void (*done)(struct netfs_io_request *rreq);
|
/linux-6.12.1/fs/smb/client/ |
D | file.c | 52 struct netfs_io_stream *stream = &req->rreq.io_streams[subreq->stream_nr]; in cifs_prepare_write() 55 size_t wsize = req->rreq.wsize; in cifs_prepare_write() 84 wdata->credits.rreq_debug_id = subreq->rreq->debug_id; in cifs_prepare_write() 87 trace_smb3_rw_credits(wdata->rreq->debug_id, in cifs_prepare_write() 107 struct cifs_sb_info *sbi = CIFS_SB(subreq->rreq->inode->i_sb); in cifs_issue_write() 147 struct netfs_io_request *rreq = subreq->rreq; in cifs_prepare_read() local 149 struct cifs_io_request *req = container_of(subreq->rreq, struct cifs_io_request, rreq); in cifs_prepare_read() 151 struct cifs_sb_info *cifs_sb = CIFS_SB(rreq->inode->i_sb); in cifs_prepare_read() 171 rreq->io_streams[0].sreq_max_len = size; in cifs_prepare_read() 174 rdata->credits.rreq_debug_id = rreq->debug_id; in cifs_prepare_read() [all …]
|
/linux-6.12.1/fs/cachefiles/ |
D | io.c | 499 return cachefiles_do_prepare_read(&subreq->rreq->cache_resources, in cachefiles_prepare_read() 501 &subreq->flags, subreq->rreq->inode->i_ino); in cachefiles_prepare_read() 628 struct netfs_io_request *wreq = subreq->rreq; in cachefiles_prepare_write_subreq() 647 struct netfs_io_request *wreq = subreq->rreq; in cachefiles_issue_write() 707 cachefiles_write(&subreq->rreq->cache_resources, in cachefiles_issue_write()
|
/linux-6.12.1/Documentation/filesystems/ |
D | netfs_library.rst | 239 struct netfs_io_request *rreq; 251 * ``rreq`` 296 void (*init_request)(struct netfs_io_request *rreq, struct file *file); 297 void (*free_request)(struct netfs_io_request *rreq); 298 void (*expand_readahead)(struct netfs_io_request *rreq); 301 bool (*is_still_valid)(struct netfs_io_request *rreq); 304 void (*done)(struct netfs_io_request *rreq); 451 int fscache_begin_read_operation(struct netfs_io_request *rreq,
|