Home
last modified time | relevance | path

Searched refs:subreq (Results 1 – 11 of 11) sorted by relevance

/fs/netfs/
Dio.c22 static void netfs_clear_unread(struct netfs_io_subrequest *subreq) in netfs_clear_unread() argument
26 iov_iter_xarray(&iter, ITER_DEST, &subreq->rreq->mapping->i_pages, in netfs_clear_unread()
27 subreq->start + subreq->transferred, in netfs_clear_unread()
28 subreq->len - subreq->transferred); in netfs_clear_unread()
35 struct netfs_io_subrequest *subreq = priv; in netfs_cache_read_terminated() local
37 netfs_subreq_terminated(subreq, transferred_or_error, was_async); in netfs_cache_read_terminated()
45 struct netfs_io_subrequest *subreq, in netfs_read_from_cache() argument
53 subreq->start + subreq->transferred, in netfs_read_from_cache()
54 subreq->len - subreq->transferred); in netfs_read_from_cache()
56 cres->ops->read(cres, subreq->start, &iter, read_hole, in netfs_read_from_cache()
[all …]
Dobjects.c62 struct netfs_io_subrequest *subreq; in netfs_clear_subrequests() local
65 subreq = list_first_entry(&rreq->subrequests, in netfs_clear_subrequests()
67 list_del(&subreq->rreq_link); in netfs_clear_subrequests()
68 netfs_put_subrequest(subreq, was_async, in netfs_clear_subrequests()
113 struct netfs_io_subrequest *subreq; in netfs_alloc_subrequest() local
115 subreq = kzalloc(sizeof(struct netfs_io_subrequest), GFP_KERNEL); in netfs_alloc_subrequest()
116 if (subreq) { in netfs_alloc_subrequest()
117 INIT_LIST_HEAD(&subreq->rreq_link); in netfs_alloc_subrequest()
118 refcount_set(&subreq->ref, 2); in netfs_alloc_subrequest()
119 subreq->rreq = rreq; in netfs_alloc_subrequest()
[all …]
Dbuffered_read.c18 struct netfs_io_subrequest *subreq; in netfs_rreq_unlock_folios() local
29 list_for_each_entry(subreq, &rreq->subrequests, rreq_link) { in netfs_rreq_unlock_folios()
30 __clear_bit(NETFS_SREQ_COPY_TO_CACHE, &subreq->flags); in netfs_rreq_unlock_folios()
40 subreq = list_first_entry(&rreq->subrequests, in netfs_rreq_unlock_folios()
42 subreq_failed = (subreq->error < 0); in netfs_rreq_unlock_folios()
61 if (!subreq) { in netfs_rreq_unlock_folios()
65 if (!folio_started && test_bit(NETFS_SREQ_COPY_TO_CACHE, &subreq->flags)) { in netfs_rreq_unlock_folios()
70 sreq_end = subreq->start + subreq->len - 1; in netfs_rreq_unlock_folios()
74 account += subreq->transferred; in netfs_rreq_unlock_folios()
75 if (!list_is_last(&subreq->rreq_link, &rreq->subrequests)) { in netfs_rreq_unlock_folios()
[all …]
/fs/afs/
Dfile.c245 struct netfs_io_subrequest *subreq = req->subreq; in afs_fetch_data_notify() local
252 if (subreq) { in afs_fetch_data_notify()
253 __set_bit(NETFS_SREQ_CLEAR_TAIL, &subreq->flags); in afs_fetch_data_notify()
254 netfs_subreq_terminated(subreq, error ?: req->actual_len, false); in afs_fetch_data_notify()
255 req->subreq = NULL; in afs_fetch_data_notify()
303 if (req->subreq) in afs_fetch_data()
304 netfs_subreq_terminated(req->subreq, PTR_ERR(op), false); in afs_fetch_data()
315 static void afs_issue_read(struct netfs_io_subrequest *subreq) in afs_issue_read() argument
317 struct afs_vnode *vnode = AFS_FS_I(subreq->rreq->inode); in afs_issue_read()
322 return netfs_subreq_terminated(subreq, -ENOMEM, false); in afs_issue_read()
[all …]
Dinternal.h210 struct netfs_io_subrequest *subreq; /* Fscache helper read request this belongs to */ member
/fs/nfs/
Dwrite.c455 struct nfs_page *subreq = destroy_list; in nfs_destroy_unlinked_subrequests() local
457 destroy_list = (subreq->wb_this_page == old_head) ? in nfs_destroy_unlinked_subrequests()
458 NULL : subreq->wb_this_page; in nfs_destroy_unlinked_subrequests()
461 nfs_page_set_headlock(subreq); in nfs_destroy_unlinked_subrequests()
462 WARN_ON_ONCE(old_head != subreq->wb_head); in nfs_destroy_unlinked_subrequests()
465 subreq->wb_this_page = subreq; in nfs_destroy_unlinked_subrequests()
466 subreq->wb_head = subreq; in nfs_destroy_unlinked_subrequests()
468 clear_bit(PG_REMOVE, &subreq->wb_flags); in nfs_destroy_unlinked_subrequests()
471 if (!kref_read(&subreq->wb_kref)) { in nfs_destroy_unlinked_subrequests()
473 if (test_and_clear_bit(PG_TEARDOWN, &subreq->wb_flags)) { in nfs_destroy_unlinked_subrequests()
[all …]
Dpagelist.c240 nfs_page_group_lock_subreq(struct nfs_page *head, struct nfs_page *subreq) in nfs_page_group_lock_subreq() argument
244 if (!kref_get_unless_zero(&subreq->wb_kref)) in nfs_page_group_lock_subreq()
246 while (!nfs_lock_request(subreq)) { in nfs_page_group_lock_subreq()
248 ret = nfs_wait_on_request(subreq); in nfs_page_group_lock_subreq()
252 nfs_unroll_locks(head, subreq); in nfs_page_group_lock_subreq()
253 nfs_release_request(subreq); in nfs_page_group_lock_subreq()
269 struct nfs_page *subreq; in nfs_page_group_lock_subrequests() local
276 for (subreq = head->wb_this_page; subreq != head; in nfs_page_group_lock_subrequests()
277 subreq = subreq->wb_this_page) { in nfs_page_group_lock_subrequests()
278 ret = nfs_page_group_lock_subreq(head, subreq); in nfs_page_group_lock_subrequests()
[all …]
Ddirect.c504 struct nfs_page *req, *subreq; in nfs_direct_join_group() local
511 subreq = req->wb_this_page; in nfs_direct_join_group()
512 if (subreq == req) in nfs_direct_join_group()
519 if (!list_empty(&subreq->wb_list)) { in nfs_direct_join_group()
520 nfs_list_remove_request(subreq); in nfs_direct_join_group()
521 nfs_release_request(subreq); in nfs_direct_join_group()
523 } while ((subreq = subreq->wb_this_page) != req); in nfs_direct_join_group()
/fs/9p/
Dvfs_addr.c32 static void v9fs_issue_read(struct netfs_io_subrequest *subreq) in v9fs_issue_read() argument
34 struct netfs_io_request *rreq = subreq->rreq; in v9fs_issue_read()
37 loff_t pos = subreq->start + subreq->transferred; in v9fs_issue_read()
38 size_t len = subreq->len - subreq->transferred; in v9fs_issue_read()
47 __set_bit(NETFS_SREQ_CLEAR_TAIL, &subreq->flags); in v9fs_issue_read()
49 netfs_subreq_terminated(subreq, err ?: total, false); in v9fs_issue_read()
/fs/ceph/
Daddr.c229 static bool ceph_netfs_clamp_length(struct netfs_io_subrequest *subreq) in ceph_netfs_clamp_length() argument
231 struct inode *inode = subreq->rreq->inode; in ceph_netfs_clamp_length()
238 ceph_calc_file_object_mapping(&ci->i_layout, subreq->start, subreq->len, in ceph_netfs_clamp_length()
240 subreq->len = min(xlen, fsc->mount_options->rsize); in ceph_netfs_clamp_length()
249 struct netfs_io_subrequest *subreq = req->r_priv; in finish_netfs_read() local
258 subreq->len, i_size_read(req->r_inode)); in finish_netfs_read()
269 if (err < subreq->len) in finish_netfs_read()
270 __set_bit(NETFS_SREQ_CLEAR_TAIL, &subreq->flags); in finish_netfs_read()
273 osd_data->pages, subreq->start, in finish_netfs_read()
276 if (err > subreq->len) in finish_netfs_read()
[all …]
/fs/cachefiles/
Dio.c496 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()