Lines Matching refs:pgio

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()
843 if (!pgio->pg_lseg) in ff_layout_pg_init_read()
846 if (ff_layout_avoid_read_on_rw(pgio->pg_lseg)) { in ff_layout_pg_init_read()
847 ff_layout_pg_get_read(pgio, req, true); in ff_layout_pg_init_read()
848 if (!pgio->pg_lseg) in ff_layout_pg_init_read()
852 ds = ff_layout_choose_best_ds_for_read(pgio->pg_lseg, 0, &ds_idx); in ff_layout_pg_init_read()
854 if (!ff_layout_no_fallback_to_mds(pgio->pg_lseg)) in ff_layout_pg_init_read()
856 pnfs_put_lseg(pgio->pg_lseg); in ff_layout_pg_init_read()
857 pgio->pg_lseg = NULL; in ff_layout_pg_init_read()
863 mirror = FF_LAYOUT_COMP(pgio->pg_lseg, ds_idx); in ff_layout_pg_init_read()
865 pgio->pg_mirror_idx = ds_idx; in ff_layout_pg_init_read()
868 pgm = &pgio->pg_mirrors[0]; in ff_layout_pg_init_read()
873 if (pgio->pg_error < 0) in ff_layout_pg_init_read()
876 pnfs_put_lseg(pgio->pg_lseg); in ff_layout_pg_init_read()
877 pgio->pg_lseg = NULL; in ff_layout_pg_init_read()
878 nfs_pageio_reset_read_mds(pgio); in ff_layout_pg_init_read()
882 ff_layout_pg_init_write(struct nfs_pageio_descriptor *pgio, in ff_layout_pg_init_write() argument
893 pnfs_generic_pg_check_layout(pgio); in ff_layout_pg_init_write()
894 if (!pgio->pg_lseg) { in ff_layout_pg_init_write()
895 pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode, in ff_layout_pg_init_write()
902 if (IS_ERR(pgio->pg_lseg)) { in ff_layout_pg_init_write()
903 pgio->pg_error = PTR_ERR(pgio->pg_lseg); in ff_layout_pg_init_write()
904 pgio->pg_lseg = NULL; in ff_layout_pg_init_write()
909 if (pgio->pg_lseg == NULL) in ff_layout_pg_init_write()
912 nfs_init_cinfo(&cinfo, pgio->pg_inode, pgio->pg_dreq); in ff_layout_pg_init_write()
913 status = ff_layout_alloc_commit_info(pgio->pg_lseg, &cinfo, GFP_NOFS); in ff_layout_pg_init_write()
918 if (WARN_ON_ONCE(pgio->pg_mirror_count != in ff_layout_pg_init_write()
919 FF_LAYOUT_MIRROR_COUNT(pgio->pg_lseg))) in ff_layout_pg_init_write()
922 for (i = 0; i < pgio->pg_mirror_count; i++) { in ff_layout_pg_init_write()
923 ds = nfs4_ff_layout_prepare_ds(pgio->pg_lseg, i, true); in ff_layout_pg_init_write()
925 if (!ff_layout_no_fallback_to_mds(pgio->pg_lseg)) in ff_layout_pg_init_write()
927 pnfs_put_lseg(pgio->pg_lseg); in ff_layout_pg_init_write()
928 pgio->pg_lseg = NULL; in ff_layout_pg_init_write()
933 pgm = &pgio->pg_mirrors[i]; in ff_layout_pg_init_write()
934 mirror = FF_LAYOUT_COMP(pgio->pg_lseg, i); in ff_layout_pg_init_write()
941 pnfs_put_lseg(pgio->pg_lseg); in ff_layout_pg_init_write()
942 pgio->pg_lseg = NULL; in ff_layout_pg_init_write()
943 nfs_pageio_reset_write_mds(pgio); in ff_layout_pg_init_write()
947 ff_layout_pg_get_mirror_count_write(struct nfs_pageio_descriptor *pgio, in ff_layout_pg_get_mirror_count_write() argument
950 if (!pgio->pg_lseg) { in ff_layout_pg_get_mirror_count_write()
951 pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode, in ff_layout_pg_get_mirror_count_write()
958 if (IS_ERR(pgio->pg_lseg)) { in ff_layout_pg_get_mirror_count_write()
959 pgio->pg_error = PTR_ERR(pgio->pg_lseg); in ff_layout_pg_get_mirror_count_write()
960 pgio->pg_lseg = NULL; in ff_layout_pg_get_mirror_count_write()
964 if (pgio->pg_lseg) in ff_layout_pg_get_mirror_count_write()
965 return FF_LAYOUT_MIRROR_COUNT(pgio->pg_lseg); in ff_layout_pg_get_mirror_count_write()
968 nfs_pageio_reset_write_mds(pgio); in ff_layout_pg_get_mirror_count_write()