/Linux-v4.19/fs/nfs/ |
D | read.c | 60 void nfs_pageio_init_read(struct nfs_pageio_descriptor *pgio, in nfs_pageio_init_read() argument 71 nfs_pageio_init(pgio, inode, pg_ops, compl_ops, &nfs_rw_read_ops, in nfs_pageio_init_read() 76 void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio) in nfs_pageio_reset_read_mds() argument 80 if (pgio->pg_ops && pgio->pg_ops->pg_cleanup) in nfs_pageio_reset_read_mds() 81 pgio->pg_ops->pg_cleanup(pgio); in nfs_pageio_reset_read_mds() 83 pgio->pg_ops = &nfs_pgio_rw_ops; in nfs_pageio_reset_read_mds() 86 WARN_ON_ONCE(pgio->pg_mirror_count != 1); in nfs_pageio_reset_read_mds() 88 mirror = &pgio->pg_mirrors[0]; in nfs_pageio_reset_read_mds() 89 mirror->pg_bsize = NFS_SERVER(pgio->pg_inode)->rsize; in nfs_pageio_reset_read_mds() 115 struct nfs_pageio_descriptor pgio; in nfs_readpage_async() local [all …]
|
D | pagelist.c | 845 static void nfs_pageio_setup_mirroring(struct nfs_pageio_descriptor *pgio, in nfs_pageio_setup_mirroring() argument 850 if (pgio->pg_ops->pg_get_mirror_count) in nfs_pageio_setup_mirroring() 851 mirror_count = pgio->pg_ops->pg_get_mirror_count(pgio, req); in nfs_pageio_setup_mirroring() 852 if (mirror_count == pgio->pg_mirror_count || pgio->pg_error < 0) in nfs_pageio_setup_mirroring() 856 pgio->pg_error = -EINVAL; in nfs_pageio_setup_mirroring() 860 pgio->pg_mirrors = nfs_pageio_alloc_mirrors(pgio, mirror_count); in nfs_pageio_setup_mirroring() 861 if (pgio->pg_mirrors == NULL) { in nfs_pageio_setup_mirroring() 862 pgio->pg_error = -ENOMEM; in nfs_pageio_setup_mirroring() 863 pgio->pg_mirrors = pgio->pg_mirrors_static; in nfs_pageio_setup_mirroring() 866 pgio->pg_mirror_count = mirror_count; in nfs_pageio_setup_mirroring() [all …]
|
D | pnfs.c | 2379 pnfs_generic_pg_check_layout(struct nfs_pageio_descriptor *pgio) in pnfs_generic_pg_check_layout() argument 2381 if (pgio->pg_lseg == NULL || in pnfs_generic_pg_check_layout() 2382 test_bit(NFS_LSEG_VALID, &pgio->pg_lseg->pls_flags)) in pnfs_generic_pg_check_layout() 2384 pnfs_put_lseg(pgio->pg_lseg); in pnfs_generic_pg_check_layout() 2385 pgio->pg_lseg = NULL; in pnfs_generic_pg_check_layout() 2394 pnfs_generic_pg_check_range(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) in pnfs_generic_pg_check_range() argument 2396 if (pgio->pg_lseg && !pnfs_lseg_request_intersecting(pgio->pg_lseg, req)) { in pnfs_generic_pg_check_range() 2397 pnfs_put_lseg(pgio->pg_lseg); in pnfs_generic_pg_check_range() 2398 pgio->pg_lseg = NULL; in pnfs_generic_pg_check_range() 2403 pnfs_generic_pg_init_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) in pnfs_generic_pg_init_read() argument [all …]
|
D | write.c | 608 static int nfs_page_async_flush(struct nfs_pageio_descriptor *pgio, in nfs_page_async_flush() argument 629 if (!nfs_pageio_add_request(pgio, req)) { in nfs_page_async_flush() 630 ret = pgio->pg_error; in nfs_page_async_flush() 652 struct nfs_pageio_descriptor *pgio) in nfs_do_writepage() argument 656 nfs_pageio_cond_complete(pgio, page_index(page)); in nfs_do_writepage() 657 ret = nfs_page_async_flush(pgio, page); in nfs_do_writepage() 671 struct nfs_pageio_descriptor pgio; in nfs_writepage_locked() local 676 nfs_pageio_init_write(&pgio, inode, 0, in nfs_writepage_locked() 678 err = nfs_do_writepage(page, wbc, &pgio); in nfs_writepage_locked() 679 nfs_pageio_complete(&pgio); in nfs_writepage_locked() [all …]
|
D | internal.h | 456 extern void nfs_pageio_init_read(struct nfs_pageio_descriptor *pgio, 460 extern void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio); 472 extern void nfs_pageio_init_write(struct nfs_pageio_descriptor *pgio, 475 extern void nfs_pageio_reset_write_mds(struct nfs_pageio_descriptor *pgio); 518 void nfs_pageio_stop_mirroring(struct nfs_pageio_descriptor *pgio);
|
D | direct.c | 293 struct nfs_pageio_descriptor *pgio, in nfs_direct_setup_mirroring() argument 298 if (pgio->pg_ops->pg_get_mirror_count) in nfs_direct_setup_mirroring() 299 mirror_count = pgio->pg_ops->pg_get_mirror_count(pgio, req); in nfs_direct_setup_mirroring()
|
D | pnfs.h | 242 void pnfs_generic_pg_check_layout(struct nfs_pageio_descriptor *pgio); 245 void pnfs_generic_pg_init_write(struct nfs_pageio_descriptor *pgio, 249 size_t pnfs_generic_pg_test(struct nfs_pageio_descriptor *pgio,
|
/Linux-v4.19/fs/nfs/blocklayout/ |
D | blocklayout.c | 824 is_aligned_req(struct nfs_pageio_descriptor *pgio, in is_aligned_req() argument 831 if (pgio->pg_dreq == NULL) in is_aligned_req() 841 (req_offset(req) + req->wb_bytes == i_size_read(pgio->pg_inode))) { in is_aligned_req() 856 bl_pg_init_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) in bl_pg_init_read() argument 858 if (!is_aligned_req(pgio, req, SECTOR_SIZE, false)) { in bl_pg_init_read() 859 nfs_pageio_reset_read_mds(pgio); in bl_pg_init_read() 863 pnfs_generic_pg_init_read(pgio, req); in bl_pg_init_read() 865 if (pgio->pg_lseg && in bl_pg_init_read() 866 test_bit(NFS_LSEG_UNAVAILABLE, &pgio->pg_lseg->pls_flags)) { in bl_pg_init_read() 867 pnfs_error_mark_layout_for_return(pgio->pg_inode, pgio->pg_lseg); in bl_pg_init_read() [all …]
|
/Linux-v4.19/fs/nfs/flexfilelayout/ |
D | flexfilelayout.c | 811 ff_layout_pg_get_read(struct nfs_pageio_descriptor *pgio, in ff_layout_pg_get_read() argument 815 pnfs_put_lseg(pgio->pg_lseg); in ff_layout_pg_get_read() 816 pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode, in ff_layout_pg_get_read() 823 if (IS_ERR(pgio->pg_lseg)) { in ff_layout_pg_get_read() 824 pgio->pg_error = PTR_ERR(pgio->pg_lseg); in ff_layout_pg_get_read() 825 pgio->pg_lseg = NULL; in ff_layout_pg_get_read() 830 ff_layout_pg_init_read(struct nfs_pageio_descriptor *pgio, in ff_layout_pg_init_read() argument 839 pnfs_generic_pg_check_layout(pgio); in ff_layout_pg_init_read() 841 if (!pgio->pg_lseg) { in ff_layout_pg_init_read() 842 ff_layout_pg_get_read(pgio, req, false); in ff_layout_pg_init_read() [all …]
|
/Linux-v4.19/fs/nfs/filelayout/ |
D | filelayout.c | 847 filelayout_pg_test(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev, in filelayout_pg_test() argument 853 u64 segment_offset = pgio->pg_lseg->pls_range.offset; in filelayout_pg_test() 854 u32 stripe_unit = FILELAYOUT_LSEG(pgio->pg_lseg)->stripe_unit; in filelayout_pg_test() 857 size = pnfs_generic_pg_test(pgio, prev, req); in filelayout_pg_test() 914 filelayout_pg_init_read(struct nfs_pageio_descriptor *pgio, in filelayout_pg_init_read() argument 917 pnfs_generic_pg_check_layout(pgio); in filelayout_pg_init_read() 918 if (!pgio->pg_lseg) { in filelayout_pg_init_read() 919 pgio->pg_lseg = fl_pnfs_update_layout(pgio->pg_inode, in filelayout_pg_init_read() 926 if (IS_ERR(pgio->pg_lseg)) { in filelayout_pg_init_read() 927 pgio->pg_error = PTR_ERR(pgio->pg_lseg); in filelayout_pg_init_read() [all …]
|