/linux/fs/nfs/ |
H A D | read.c | 63 void nfs_pageio_init_read(struct nfs_pageio_descriptor *pgio, in nfs_pageio_init_read() argument 74 nfs_pageio_init(pgio, inode, pg_ops, compl_ops, &nfs_rw_read_ops, in nfs_pageio_init_read() 79 void nfs_pageio_complete_read(struct nfs_pageio_descriptor *pgio) in nfs_pageio_complete_read() argument 84 nfs_pageio_complete(pgio); in nfs_pageio_complete_read() 87 WARN_ON_ONCE(pgio->pg_mirror_count != 1); in nfs_pageio_complete_read() 89 pgm = &pgio->pg_mirrors[0]; in nfs_pageio_complete_read() 90 NFS_I(pgio->pg_inode)->read_io += pgm->pg_bytes_written; in nfs_pageio_complete_read() 92 nfs_add_stats(pgio->pg_inode, NFSIOS_READPAGES, npages); in nfs_pageio_complete_read() 96 void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio) in nfs_pageio_reset_read_mds() argument 100 if (pgio->pg_ops && pgio->pg_ops->pg_cleanup) in nfs_pageio_reset_read_mds() [all …]
|
H A D | pagelist.c | 758 dprintk("NFS: initiated pgio call " in nfs_initiate_pgio() 1006 static void nfs_pageio_setup_mirroring(struct nfs_pageio_descriptor *pgio, in nfs_pageio_setup_mirroring() 1011 if (pgio->pg_ops->pg_get_mirror_count) in nfs_pageio_setup_mirroring() 1012 mirror_count = pgio->pg_ops->pg_get_mirror_count(pgio, req); in nfs_pageio_setup_mirroring() 1013 if (mirror_count == pgio->pg_mirror_count || pgio->pg_error < 0) in nfs_pageio_setup_mirroring() 1017 pgio->pg_error = -EINVAL; in nfs_pageio_setup_mirroring() 1021 pgio->pg_mirrors = nfs_pageio_alloc_mirrors(pgio, mirror_coun in nfs_pageio_setup_mirroring() 1005 nfs_pageio_setup_mirroring(struct nfs_pageio_descriptor * pgio,struct nfs_page * req) nfs_pageio_setup_mirroring() argument 1029 nfs_pageio_cleanup_mirroring(struct nfs_pageio_descriptor * pgio) nfs_pageio_cleanup_mirroring() argument 1076 nfs_coalesce_size(struct nfs_page * prev,struct nfs_page * req,struct nfs_pageio_descriptor * pgio) nfs_coalesce_size() argument 1459 nfs_pageio_stop_mirroring(struct nfs_pageio_descriptor * pgio) nfs_pageio_stop_mirroring() argument [all...] |
H A D | pnfs.c | 2834 pnfs_generic_pg_check_layout(struct nfs_pageio_descriptor *pgio, in pnfs_generic_pg_check_layout() argument 2837 if (pgio->pg_lseg == NULL || in pnfs_generic_pg_check_layout() 2838 (test_bit(NFS_LSEG_VALID, &pgio->pg_lseg->pls_flags) && in pnfs_generic_pg_check_layout() 2839 pnfs_lseg_request_intersecting(pgio->pg_lseg, req))) in pnfs_generic_pg_check_layout() 2841 pnfs_put_lseg(pgio->pg_lseg); in pnfs_generic_pg_check_layout() 2842 pgio->pg_lseg = NULL; in pnfs_generic_pg_check_layout() 2847 pnfs_generic_pg_init_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) in pnfs_generic_pg_init_read() argument 2851 pnfs_generic_pg_check_layout(pgio, req); in pnfs_generic_pg_init_read() 2852 if (pgio->pg_lseg == NULL) { in pnfs_generic_pg_init_read() 2853 if (pgio->pg_dreq == NULL) in pnfs_generic_pg_init_read() [all …]
|
H A D | fscache.c | 302 struct nfs_pageio_descriptor pgio; in nfs_netfs_issue_read() local 313 nfs_pageio_init_read(&pgio, inode, false, in nfs_netfs_issue_read() 322 pgio.pg_netfs = netfs; /* used in completion */ in nfs_netfs_issue_read() 326 err = nfs_read_add_folio(&pgio, ctx, page_folio(page)); in nfs_netfs_issue_read() 333 nfs_pageio_complete_read(&pgio); in nfs_netfs_issue_read()
|
H A D | pnfs.h | 267 void pnfs_generic_pg_check_layout(struct nfs_pageio_descriptor *pgio, struct nfs_page *req); 270 void pnfs_generic_pg_init_write(struct nfs_pageio_descriptor *pgio, 274 size_t pnfs_generic_pg_test(struct nfs_pageio_descriptor *pgio,
|
/linux/fs/nfs/blocklayout/ |
H A D | blocklayout.c | 822 is_aligned_req(struct nfs_pageio_descriptor *pgio, in is_aligned_req() argument 829 if (pgio->pg_dreq == NULL) in is_aligned_req() 839 (req_offset(req) + req->wb_bytes == i_size_read(pgio->pg_inode))) { in is_aligned_req() 854 bl_pg_init_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) in bl_pg_init_read() argument 856 if (!is_aligned_req(pgio, req, SECTOR_SIZE, false)) { in bl_pg_init_read() 857 nfs_pageio_reset_read_mds(pgio); in bl_pg_init_read() 861 pnfs_generic_pg_init_read(pgio, req); in bl_pg_init_read() 863 if (pgio->pg_lseg && in bl_pg_init_read() 864 test_bit(NFS_LSEG_UNAVAILABLE, &pgio->pg_lseg->pls_flags)) { in bl_pg_init_read() 865 pnfs_error_mark_layout_for_return(pgio->pg_inode, pgio->pg_lseg); in bl_pg_init_read() [all …]
|
/linux/fs/nfs/flexfilelayout/ |
H A D | flexfilelayout.c | 813 ff_layout_get_ds_for_read(struct nfs_pageio_descriptor *pgio, in ff_layout_get_ds_for_read() 816 struct pnfs_layout_segment *lseg = pgio->pg_lseg; in ff_layout_get_ds_for_read() 819 ds = ff_layout_choose_best_ds_for_read(lseg, pgio->pg_mirror_idx, in ff_layout_get_ds_for_read() 821 if (ds || !pgio->pg_mirror_idx) in ff_layout_get_ds_for_read() 827 ff_layout_pg_get_read(struct nfs_pageio_descriptor *pgio, in ff_layout_pg_get_read() 831 pnfs_put_lseg(pgio->pg_lseg); in ff_layout_pg_get_read() 832 pgio->pg_lseg = in ff_layout_pg_get_read() 833 pnfs_update_layout(pgio->pg_inode, nfs_req_openctx(req), in ff_layout_pg_get_read() 836 if (IS_ERR(pgio->pg_lseg)) { in ff_layout_pg_get_read() 837 pgio in ff_layout_pg_get_read() 812 ff_layout_get_ds_for_read(struct nfs_pageio_descriptor * pgio,u32 * best_idx) ff_layout_get_ds_for_read() argument 826 ff_layout_pg_get_read(struct nfs_pageio_descriptor * pgio,struct nfs_page * req,bool strict_iomode) ff_layout_pg_get_read() argument 842 ff_layout_pg_init_read(struct nfs_pageio_descriptor * pgio,struct nfs_page * req) ff_layout_pg_init_read() argument 897 ff_layout_pg_init_write(struct nfs_pageio_descriptor * pgio,struct nfs_page * req) ff_layout_pg_init_write() argument 960 ff_layout_pg_get_mirror_count_write(struct nfs_pageio_descriptor * pgio,struct nfs_page * req) ff_layout_pg_get_mirror_count_write() argument [all...] |
/linux/fs/nfs/filelayout/ |
H A D | filelayout.c | 791 filelayout_pg_test(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev, in filelayout_pg_test() argument 797 u64 segment_offset = pgio->pg_lseg->pls_range.offset; in filelayout_pg_test() 798 u32 stripe_unit = FILELAYOUT_LSEG(pgio->pg_lseg)->stripe_unit; in filelayout_pg_test() 801 size = pnfs_generic_pg_test(pgio, prev, req); in filelayout_pg_test() 804 else if (!filelayout_lseg_is_striped(FILELAYOUT_LSEG(pgio->pg_lseg))) in filelayout_pg_test() 867 filelayout_pg_init_read(struct nfs_pageio_descriptor *pgio, in filelayout_pg_init_read() argument 870 pnfs_generic_pg_check_layout(pgio, req); in filelayout_pg_init_read() 871 if (!pgio->pg_lseg) { in filelayout_pg_init_read() 872 pgio->pg_lseg = fl_pnfs_update_layout(pgio->pg_inode, in filelayout_pg_init_read() 879 if (IS_ERR(pgio->pg_lseg)) { in filelayout_pg_init_read() [all …]
|