Home
last modified time | relevance | path

Searched refs:rreq (Results 1 – 25 of 35) sorted by relevance

12

/linux/fs/netfs/
H A Dobjects.c24 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 …]
H A Ddirect_read.c21 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 …]
H A Dbuffered_read.c12 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 …]
H A Dread_collect.c25 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()
89 struct netfs_io_request *rreq = subreq->rreq; in netfs_consume_read_data() local
98 rreq->debug_id, subreq->debug_index, in netfs_consume_read_data()
111 rreq->debug_id, subreq->debug_index, in netfs_consume_read_data()
[all …]
H A Dread_retry.c12 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 …]
H A Dmisc.c14 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 …]
H A Dmain.c54 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()
H A Dinternal.h39 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 …]
H A Dread_pgpriv2.c22 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/fs/9p/
H A Dvfs_addr.c56 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/include/trace/events/
H A Dnetfs.h247 TP_PROTO(struct netfs_io_request *rreq,
251 TP_ARGS(rreq, start, len, what),
254 __field(unsigned int, rreq )
264 __entry->rreq = rreq->debug_id;
265 __entry->cookie = rreq->cache_resources.debug_id;
266 __entry->i_size = rreq->i_size;
270 __entry->netfs_inode = rreq->inode->i_ino;
274 __entry->rreq,
282 TP_PROTO(struct netfs_io_request *rreq,
285 TP_ARGS(rreq, what),
[all …]
/linux/fs/nfs/
H A Dfscache.c264 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/drivers/infiniband/sw/siw/
H A Dsiw_qp.c294 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 …]
H A Dsiw_qp_rx.c661 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 …]
H A Dsiw_qp_tx.c130 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()
H A Diwarp.h276 struct iwarp_rdma_rreq rreq; member
/linux/net/9p/
H A Dtrans_fd.c119 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/fs/ceph/
H A Daddr.c165 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/fs/afs/
H A Dfile.c246 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()
H A Dwrite.c92 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/tools/net/ynl/samples/
H A Dethtool.c14 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/include/linux/
H A Dnetfs.h174 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/fs/smb/client/
H A Dfile.c52 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/fs/cachefiles/
H A Dio.c499 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/Documentation/filesystems/
H A Dnetfs_library.rst239 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,

12