Home
last modified time | relevance | path

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

12

/linux/fs/netfs/
H A Dread_collect.c33 if (subreq->start + subreq->transferred >= subreq->rreq->i_size) in netfs_clear_unread()
42 static void netfs_unlock_read_folio(struct netfs_io_request *rreq, in netfs_unlock_read_folio() argument
49 if (unlikely(folio_pos(folio) < rreq->abandon_to)) { in netfs_unlock_read_folio()
57 if (!test_bit(NETFS_RREQ_USE_PGPRIV2, &rreq->flags)) { in netfs_unlock_read_folio()
68 if (test_bit(NETFS_RREQ_FOLIO_COPY_TO_CACHE, &rreq->flags)) { in netfs_unlock_read_folio()
81 if (test_bit(NETFS_RREQ_FOLIO_COPY_TO_CACHE, &rreq->flags)) in netfs_unlock_read_folio()
82 netfs_pgpriv2_copy_to_cache(rreq, folio); in netfs_unlock_read_folio()
86 if (!test_bit(NETFS_RREQ_DONT_UNLOCK_FOLIOS, &rreq->flags)) { in netfs_unlock_read_folio()
87 if (folio->index == rreq->no_unlock_folio && in netfs_unlock_read_folio()
88 test_bit(NETFS_RREQ_NO_UNLOCK_FOLIO, &rreq->flags)) { in netfs_unlock_read_folio()
[all …]
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->buffer.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->buffer.iter; in netfs_prepare_dio_read_iterator()
41 iov_iter_advance(&rreq->buffer.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 struct netfs_io_stream *stream = &rreq->io_streams[0]; in netfs_dispatch_unbuffered_reads()
51 unsigned long long start = rreq->start; 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_single.c56 static int netfs_single_begin_cache_read(struct netfs_io_request *rreq, struct netfs_inode *ctx) in netfs_single_begin_cache_read() argument
58 return fscache_begin_read_operation(&rreq->cache_resources, netfs_i_cookie(ctx)); in netfs_single_begin_cache_read()
61 static void netfs_single_cache_prepare_read(struct netfs_io_request *rreq, in netfs_single_cache_prepare_read() argument
64 struct netfs_cache_resources *cres = &rreq->cache_resources; in netfs_single_cache_prepare_read()
70 subreq->source = cres->ops->prepare_read(subreq, rreq->i_size); in netfs_single_cache_prepare_read()
75 static void netfs_single_read_cache(struct netfs_io_request *rreq, in netfs_single_read_cache() argument
78 struct netfs_cache_resources *cres = &rreq->cache_resources; in netfs_single_read_cache()
80 _enter("R=%08x[%x]", rreq->debug_id, subreq->debug_index); in netfs_single_read_cache()
90 static int netfs_single_dispatch_read(struct netfs_io_request *rreq) in netfs_single_dispatch_read() argument
92 struct netfs_io_stream *stream = &rreq->io_streams[0]; in netfs_single_dispatch_read()
[all …]
H A Dread_retry.c12 static void netfs_reissue_read(struct netfs_io_request *rreq, in netfs_reissue_read() argument
18 subreq->rreq->netfs_ops->issue_read(subreq); in netfs_reissue_read()
25 static void netfs_retry_read_subrequests(struct netfs_io_request *rreq) in netfs_retry_read_subrequests() argument
28 struct netfs_io_stream *stream = &rreq->io_streams[0]; in netfs_retry_read_subrequests()
31 _enter("R=%x", rreq->debug_id); in netfs_retry_read_subrequests()
36 if (rreq->netfs_ops->retry_request) in netfs_retry_read_subrequests()
37 rreq->netfs_ops->retry_request(rreq, NULL); in netfs_retry_read_subrequests()
42 if (!rreq->netfs_ops->prepare_read && in netfs_retry_read_subrequests()
43 !rreq->cache_resources.ops) { in netfs_retry_read_subrequests()
52 netfs_reissue_read(rreq, subreq); in netfs_retry_read_subrequests()
[all …]
H A Dinternal.h40 static inline void netfs_proc_add_rreq(struct netfs_io_request *rreq) in netfs_proc_add_rreq() argument
43 list_add_tail_rcu(&rreq->proc_link, &netfs_io_requests); in netfs_proc_add_rreq()
46 static inline void netfs_proc_del_rreq(struct netfs_io_request *rreq) in netfs_proc_del_rreq() argument
48 if (!list_empty(&rreq->proc_link)) { in netfs_proc_del_rreq()
50 list_del_rcu(&rreq->proc_link); in netfs_proc_del_rreq()
55 static inline void netfs_proc_add_rreq(struct netfs_io_request *rreq) {} in netfs_proc_add_rreq() argument
56 static inline void netfs_proc_del_rreq(struct netfs_io_request *rreq) {} in netfs_proc_del_rreq() argument
62 struct folio_queue *netfs_buffer_make_space(struct netfs_io_request *rreq,
73 void netfs_get_request(struct netfs_io_request *rreq, enum netfs_rreq_ref_trace what);
74 void netfs_clear_subrequests(struct netfs_io_request *rreq, bool was_async);
[all …]
H A Dmain.c56 struct netfs_io_request *rreq; in netfs_requests_seq_show() local
66 rreq = list_entry(v, struct netfs_io_request, proc_link); in netfs_requests_seq_show()
69 rreq->debug_id, in netfs_requests_seq_show()
70 netfs_origins[rreq->origin], in netfs_requests_seq_show()
71 refcount_read(&rreq->ref), in netfs_requests_seq_show()
72 rreq->flags, in netfs_requests_seq_show()
73 rreq->error, in netfs_requests_seq_show()
75 rreq->start, rreq->submitted, rreq->len); in netfs_requests_seq_show()
H A Dread_pgpriv2.c98 struct netfs_io_request *rreq, struct folio *folio) in netfs_pgpriv2_begin_copy_to_cache() argument
102 if (!fscache_resources_valid(&rreq->cache_resources)) in netfs_pgpriv2_begin_copy_to_cache()
105 creq = netfs_create_write_req(rreq->mapping, NULL, folio_pos(folio), in netfs_pgpriv2_begin_copy_to_cache()
115 rreq->copy_to_cache = creq; in netfs_pgpriv2_begin_copy_to_cache()
121 rreq->copy_to_cache = ERR_PTR(-ENOBUFS); in netfs_pgpriv2_begin_copy_to_cache()
122 clear_bit(NETFS_RREQ_FOLIO_COPY_TO_CACHE, &rreq->flags); in netfs_pgpriv2_begin_copy_to_cache()
130 void netfs_pgpriv2_copy_to_cache(struct netfs_io_request *rreq, struct folio *folio) in netfs_pgpriv2_copy_to_cache() argument
132 struct netfs_io_request *creq = rreq->copy_to_cache; in netfs_pgpriv2_copy_to_cache()
135 creq = netfs_pgpriv2_begin_copy_to_cache(rreq, folio); in netfs_pgpriv2_copy_to_cache()
147 void netfs_pgpriv2_end_copy_to_cache(struct netfs_io_request *rreq) in netfs_pgpriv2_end_copy_to_cache() argument
[all …]
H A Dwrite_collect.c24 static void netfs_dump_request(const struct netfs_io_request *rreq) in netfs_dump_request() argument
27 rreq->debug_id, refcount_read(&rreq->ref), rreq->flags, in netfs_dump_request()
28 rreq->origin, rreq->error); in netfs_dump_request()
30 rreq->start, rreq->transferred, rreq->submitted, rreq->len); in netfs_dump_request()
32 rreq->cleaned_to, rreq->collected_to, atomic64_read(&rreq->issued_to)); in netfs_dump_request()
33 pr_err(" iw=%pSR\n", rreq->netfs_ops->issue_write); in netfs_dump_request()
36 const struct netfs_io_stream *s = &rreq->io_streams[i]; in netfs_dump_request()
485 struct netfs_io_request *wreq = subreq->rreq; in netfs_write_subrequest_terminated()
/linux/fs/9p/
H A Dvfs_addr.c56 struct p9_fid *fid = subreq->rreq->netfs_priv; in v9fs_issue_write()
71 struct netfs_io_request *rreq = subreq->rreq; in v9fs_issue_read() local
72 struct p9_fid *fid = rreq->netfs_priv; in v9fs_issue_read()
80 if (subreq->rreq->origin != NETFS_DIO_READ) in v9fs_issue_read()
82 if (pos + total >= i_size_read(rreq->inode)) in v9fs_issue_read()
98 static int v9fs_init_request(struct netfs_io_request *rreq, struct file *file) in v9fs_init_request() argument
101 bool writing = (rreq->origin == NETFS_READ_FOR_WRITE || in v9fs_init_request()
102 rreq->origin == NETFS_WRITETHROUGH || in v9fs_init_request()
103 rreq->origin == NETFS_UNBUFFERED_WRITE || in v9fs_init_request()
104 rreq->origin == NETFS_DIO_WRITE); in v9fs_init_request()
[all …]
/linux/include/trace/events/
H A Dnetfs.h277 TP_PROTO(struct netfs_io_request *rreq,
281 TP_ARGS(rreq, start, len, what),
284 __field(unsigned int, rreq)
294 __entry->rreq = rreq->debug_id;
295 __entry->cookie = rreq->cache_resources.debug_id;
296 __entry->i_size = rreq->i_size;
300 __entry->netfs_inode = rreq->inode->i_ino;
304 __entry->rreq,
312 TP_PROTO(struct netfs_io_request *rreq,
315 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
267 if (WARN_ON_ONCE(rreq->origin != NETFS_PGPRIV2_COPY_TO_CACHE)) in nfs_netfs_init_request()
272 rreq->netfs_priv = get_nfs_open_context(nfs_file_open_context(file)); in nfs_netfs_init_request()
273 rreq->debug_id = atomic_inc_return(&nfs_netfs_debug_id); in nfs_netfs_init_request()
275 __set_bit(NETFS_RREQ_USE_PGPRIV2, &rreq->flags); in nfs_netfs_init_request()
276 rreq->io_streams[0].sreq_max_len = NFS_SB(rreq->inode->i_sb)->rsize; in nfs_netfs_init_request()
281 static void nfs_netfs_free_request(struct netfs_io_request *rreq) in nfs_netfs_free_request() argument
283 if (rreq->netfs_priv) in nfs_netfs_free_request()
284 put_nfs_open_context(rreq->netfs_priv); in nfs_netfs_free_request()
303 struct inode *inode = sreq->rreq->inode; 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()
/linux/fs/afs/
H A Dfile.c335 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()
359 if (subreq->rreq->origin == NETFS_READAHEAD || in afs_issue_read()
360 subreq->rreq->iocb) { in afs_issue_read()
380 static int afs_init_request(struct netfs_io_request *rreq, struct file *file) in afs_init_request() argument
382 struct afs_vnode *vnode = AFS_FS_I(rreq->inode); in afs_init_request()
385 rreq->netfs_priv = key_get(afs_file_key(file)); in afs_init_request()
386 rreq->rsize = 256 * 1024; in afs_init_request()
387 rreq->wsize = 256 * 1024 * 1024; in afs_init_request()
389 switch (rreq->origin) { in afs_init_request()
[all …]
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/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/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/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()
173 rreq->io_streams[0].sreq_max_len = size; in cifs_prepare_read()
176 rdata->credits.rreq_debug_id = rreq->debug_id; in cifs_prepare_read()
[all …]
/linux/include/linux/
H A Dnetfs.h177 struct netfs_io_request *rreq; /* Supervising I/O request */ member
294 int (*init_request)(struct netfs_io_request *rreq, struct file *file);
295 void (*free_request)(struct netfs_io_request *rreq);
296 void (*free_subrequest)(struct netfs_io_subrequest *rreq);
299 void (*expand_readahead)(struct netfs_io_request *rreq);
302 bool (*is_still_valid)(struct netfs_io_request *rreq);
305 void (*done)(struct netfs_io_request *rreq);
/linux/fs/cachefiles/
H A Dio.c501 return cachefiles_do_prepare_read(&subreq->rreq->cache_resources, in cachefiles_prepare_read()
503 &subreq->flags, subreq->rreq->inode->i_ino); in cachefiles_prepare_read()
630 struct netfs_io_request *wreq = subreq->rreq; in cachefiles_prepare_write_subreq()
649 struct netfs_io_request *wreq = subreq->rreq; in cachefiles_issue_write()
711 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