Lines Matching refs:pgio
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()
868 pnfs_set_lo_fail(pgio->pg_lseg); in bl_pg_init_read()
869 nfs_pageio_reset_read_mds(pgio); in bl_pg_init_read()
878 bl_pg_test_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev, in bl_pg_test_read() argument
881 if (!is_aligned_req(pgio, req, SECTOR_SIZE, false)) in bl_pg_test_read()
883 return pnfs_generic_pg_test(pgio, prev, req); in bl_pg_test_read()
910 bl_pg_init_write(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) in bl_pg_init_write() argument
914 if (!is_aligned_req(pgio, req, PAGE_SIZE, true)) { in bl_pg_init_write()
915 nfs_pageio_reset_write_mds(pgio); in bl_pg_init_write()
919 if (pgio->pg_dreq == NULL) in bl_pg_init_write()
920 wb_size = pnfs_num_cont_bytes(pgio->pg_inode, in bl_pg_init_write()
923 wb_size = nfs_dreq_bytes_left(pgio->pg_dreq); in bl_pg_init_write()
925 pnfs_generic_pg_init_write(pgio, req, wb_size); in bl_pg_init_write()
927 if (pgio->pg_lseg && in bl_pg_init_write()
928 test_bit(NFS_LSEG_UNAVAILABLE, &pgio->pg_lseg->pls_flags)) { in bl_pg_init_write()
930 pnfs_error_mark_layout_for_return(pgio->pg_inode, pgio->pg_lseg); in bl_pg_init_write()
931 pnfs_set_lo_fail(pgio->pg_lseg); in bl_pg_init_write()
932 nfs_pageio_reset_write_mds(pgio); in bl_pg_init_write()
941 bl_pg_test_write(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev, in bl_pg_test_write() argument
944 if (!is_aligned_req(pgio, req, PAGE_SIZE, true)) in bl_pg_test_write()
946 return pnfs_generic_pg_test(pgio, prev, req); in bl_pg_test_write()