Lines Matching refs:pgio
465 ff_layout_choose_best_ds_for_read(struct nfs_pageio_descriptor *pgio, in ff_layout_choose_best_ds_for_read() argument
472 fls = FF_LAYOUT_LSEG(pgio->pg_lseg); in ff_layout_choose_best_ds_for_read()
475 ds = nfs4_ff_layout_prepare_ds(pgio->pg_lseg, idx, false); in ff_layout_choose_best_ds_for_read()
486 ff_layout_pg_init_read(struct nfs_pageio_descriptor *pgio, in ff_layout_pg_init_read() argument
495 if (!pgio->pg_lseg) in ff_layout_pg_init_read()
496 pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode, in ff_layout_pg_init_read()
503 if (pgio->pg_lseg == NULL) in ff_layout_pg_init_read()
506 ds = ff_layout_choose_best_ds_for_read(pgio, &ds_idx); in ff_layout_pg_init_read()
509 mirror = FF_LAYOUT_COMP(pgio->pg_lseg, ds_idx); in ff_layout_pg_init_read()
511 pgio->pg_mirror_idx = ds_idx; in ff_layout_pg_init_read()
514 pgm = &pgio->pg_mirrors[0]; in ff_layout_pg_init_read()
519 pnfs_put_lseg(pgio->pg_lseg); in ff_layout_pg_init_read()
520 pgio->pg_lseg = NULL; in ff_layout_pg_init_read()
521 nfs_pageio_reset_read_mds(pgio); in ff_layout_pg_init_read()
525 ff_layout_pg_init_write(struct nfs_pageio_descriptor *pgio, in ff_layout_pg_init_write() argument
535 if (!pgio->pg_lseg) in ff_layout_pg_init_write()
536 pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode, in ff_layout_pg_init_write()
543 if (pgio->pg_lseg == NULL) in ff_layout_pg_init_write()
546 nfs_init_cinfo(&cinfo, pgio->pg_inode, pgio->pg_dreq); in ff_layout_pg_init_write()
547 status = ff_layout_alloc_commit_info(pgio->pg_lseg, &cinfo, GFP_NOFS); in ff_layout_pg_init_write()
552 if (WARN_ON_ONCE(pgio->pg_mirror_count != in ff_layout_pg_init_write()
553 FF_LAYOUT_MIRROR_COUNT(pgio->pg_lseg))) in ff_layout_pg_init_write()
556 for (i = 0; i < pgio->pg_mirror_count; i++) { in ff_layout_pg_init_write()
557 ds = nfs4_ff_layout_prepare_ds(pgio->pg_lseg, i, true); in ff_layout_pg_init_write()
560 pgm = &pgio->pg_mirrors[i]; in ff_layout_pg_init_write()
561 mirror = FF_LAYOUT_COMP(pgio->pg_lseg, i); in ff_layout_pg_init_write()
568 pnfs_put_lseg(pgio->pg_lseg); in ff_layout_pg_init_write()
569 pgio->pg_lseg = NULL; in ff_layout_pg_init_write()
570 nfs_pageio_reset_write_mds(pgio); in ff_layout_pg_init_write()
574 ff_layout_pg_get_mirror_count_write(struct nfs_pageio_descriptor *pgio, in ff_layout_pg_get_mirror_count_write() argument
577 if (!pgio->pg_lseg) in ff_layout_pg_get_mirror_count_write()
578 pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode, in ff_layout_pg_get_mirror_count_write()
584 if (pgio->pg_lseg) in ff_layout_pg_get_mirror_count_write()
585 return FF_LAYOUT_MIRROR_COUNT(pgio->pg_lseg); in ff_layout_pg_get_mirror_count_write()
588 pnfs_put_lseg(pgio->pg_lseg); in ff_layout_pg_get_mirror_count_write()
589 pgio->pg_lseg = NULL; in ff_layout_pg_get_mirror_count_write()
590 nfs_pageio_reset_write_mds(pgio); in ff_layout_pg_get_mirror_count_write()