Home
last modified time | relevance | path

Searched refs:pgio (Results 1 – 9 of 9) sorted by relevance

/linux/fs/nfs/
H A Dread.c64 void nfs_pageio_init_read(struct nfs_pageio_descriptor *pgio, in nfs_pageio_init_read() argument
75 nfs_pageio_init(pgio, inode, pg_ops, compl_ops, &nfs_rw_read_ops, in nfs_pageio_init_read()
80 void nfs_pageio_complete_read(struct nfs_pageio_descriptor *pgio) in nfs_pageio_complete_read() argument
85 nfs_pageio_complete(pgio); in nfs_pageio_complete_read()
88 WARN_ON_ONCE(pgio->pg_mirror_count != 1); in nfs_pageio_complete_read()
90 pgm = &pgio->pg_mirrors[0]; in nfs_pageio_complete_read()
91 NFS_I(pgio->pg_inode)->read_io += pgm->pg_bytes_written; in nfs_pageio_complete_read()
93 nfs_add_stats(pgio->pg_inode, NFSIOS_READPAGES, npages); in nfs_pageio_complete_read()
97 void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio) in nfs_pageio_reset_read_mds() argument
101 if (pgio->pg_ops && pgio->pg_ops->pg_cleanup) in nfs_pageio_reset_read_mds()
[all …]
H A Dpagelist.c1007 static void nfs_pageio_setup_mirroring(struct nfs_pageio_descriptor *pgio, in nfs_pageio_setup_mirroring() argument
1012 if (pgio->pg_ops->pg_get_mirror_count) in nfs_pageio_setup_mirroring()
1013 mirror_count = pgio->pg_ops->pg_get_mirror_count(pgio, req); in nfs_pageio_setup_mirroring()
1014 if (mirror_count == pgio->pg_mirror_count || pgio->pg_error < 0) in nfs_pageio_setup_mirroring()
1018 pgio->pg_error = -EINVAL; in nfs_pageio_setup_mirroring()
1022 pgio->pg_mirrors = nfs_pageio_alloc_mirrors(pgio, mirror_count); in nfs_pageio_setup_mirroring()
1023 if (pgio->pg_mirrors == NULL) { in nfs_pageio_setup_mirroring()
1024 pgio->pg_error = -ENOMEM; in nfs_pageio_setup_mirroring()
1025 pgio->pg_mirrors = pgio->pg_mirrors_static; in nfs_pageio_setup_mirroring()
1028 pgio->pg_mirror_count = mirror_count; in nfs_pageio_setup_mirroring()
[all …]
H A Dwrite.c583 struct nfs_pageio_descriptor *pgio) in nfs_do_writepage() argument
588 nfs_pageio_cond_complete(pgio, folio->index); in nfs_do_writepage()
601 ret = pgio->pg_error; in nfs_do_writepage()
605 if (!nfs_pageio_add_request(pgio, req)) { in nfs_do_writepage()
606 ret = pgio->pg_error; in nfs_do_writepage()
614 pgio->pg_error = 0; in nfs_do_writepage()
632 struct nfs_pageio_descriptor pgio; in nfs_writepage_locked() local
637 nfs_pageio_init_write(&pgio, inode, 0, false, in nfs_writepage_locked()
639 err = nfs_do_writepage(folio, wbc, &pgio); in nfs_writepage_locked()
640 pgio.pg_error = 0; in nfs_writepage_locked()
[all …]
H A Dpnfs.c2846 pnfs_generic_pg_check_layout(struct nfs_pageio_descriptor *pgio, in pnfs_generic_pg_check_layout() argument
2849 if (pgio->pg_lseg == NULL || in pnfs_generic_pg_check_layout()
2850 (test_bit(NFS_LSEG_VALID, &pgio->pg_lseg->pls_flags) && in pnfs_generic_pg_check_layout()
2851 pnfs_lseg_request_intersecting(pgio->pg_lseg, req))) in pnfs_generic_pg_check_layout()
2853 pnfs_put_lseg(pgio->pg_lseg); in pnfs_generic_pg_check_layout()
2854 pgio->pg_lseg = NULL; in pnfs_generic_pg_check_layout()
2859 pnfs_generic_pg_init_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) in pnfs_generic_pg_init_read() argument
2863 pnfs_generic_pg_check_layout(pgio, req); in pnfs_generic_pg_init_read()
2864 if (pgio->pg_lseg == NULL) { in pnfs_generic_pg_init_read()
2865 if (pgio->pg_dreq == NULL) in pnfs_generic_pg_init_read()
[all …]
H A Dinternal.h571 extern void nfs_pageio_init_read(struct nfs_pageio_descriptor *pgio,
575 extern int nfs_read_add_folio(struct nfs_pageio_descriptor *pgio,
578 extern void nfs_pageio_complete_read(struct nfs_pageio_descriptor *pgio);
579 extern void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio);
591 extern void nfs_pageio_init_write(struct nfs_pageio_descriptor *pgio,
594 extern void nfs_pageio_reset_write_mds(struct nfs_pageio_descriptor *pgio);
637 void nfs_pageio_stop_mirroring(struct nfs_pageio_descriptor *pgio);
H A Dpnfs.h268 void pnfs_generic_pg_check_layout(struct nfs_pageio_descriptor *pgio, struct nfs_page *req);
271 void pnfs_generic_pg_init_write(struct nfs_pageio_descriptor *pgio,
275 size_t pnfs_generic_pg_test(struct nfs_pageio_descriptor *pgio,
/linux/fs/nfs/flexfilelayout/
H A Dflexfilelayout.c943 ff_layout_get_ds_for_read(struct nfs_pageio_descriptor *pgio, in ff_layout_get_ds_for_read() argument
948 struct pnfs_layout_segment *lseg = pgio->pg_lseg; in ff_layout_get_ds_for_read()
951 ds = ff_layout_choose_best_ds_for_read(lseg, pgio->pg_mirror_idx, in ff_layout_get_ds_for_read()
953 if (!IS_ERR(ds) || !pgio->pg_mirror_idx) in ff_layout_get_ds_for_read()
960 ff_layout_pg_get_read(struct nfs_pageio_descriptor *pgio, in ff_layout_pg_get_read() argument
964 pnfs_put_lseg(pgio->pg_lseg); in ff_layout_pg_get_read()
965 pgio->pg_lseg = in ff_layout_pg_get_read()
966 pnfs_update_layout(pgio->pg_inode, nfs_req_openctx(req), in ff_layout_pg_get_read()
969 if (IS_ERR(pgio->pg_lseg)) { in ff_layout_pg_get_read()
970 pgio->pg_error = PTR_ERR(pgio->pg_lseg); in ff_layout_pg_get_read()
[all …]
/linux/fs/nfs/blocklayout/
H A Dblocklayout.c822 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/filelayout/
H A Dfilelayout.c791 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 …]