Lines Matching refs:lseg

24 static bool ff_layout_has_available_ds(struct pnfs_layout_segment *lseg);
376 nfs4_ff_layout_prepare_ds(struct pnfs_layout_segment *lseg, in nfs4_ff_layout_prepare_ds() argument
382 struct inode *ino = lseg->pls_layout->plh_inode; in nfs4_ff_layout_prepare_ds()
387 if (!ff_layout_init_mirror_ds(lseg->pls_layout, mirror, dss_id)) in nfs4_ff_layout_prepare_ds()
422 ff_layout_track_ds_error(FF_LAYOUT_FROM_HDR(lseg->pls_layout), in nfs4_ff_layout_prepare_ds()
423 mirror, dss_id, lseg->pls_range.offset, in nfs4_ff_layout_prepare_ds()
424 lseg->pls_range.length, NFS4ERR_NXIO, in nfs4_ff_layout_prepare_ds()
426 ff_layout_send_layouterror(lseg); in nfs4_ff_layout_prepare_ds()
427 if (fail_return || !ff_layout_has_available_ds(lseg)) in nfs4_ff_layout_prepare_ds()
428 pnfs_error_mark_layout_for_return(ino, lseg); in nfs4_ff_layout_prepare_ds()
569 static bool ff_read_layout_has_available_ds(struct pnfs_layout_segment *lseg) in ff_read_layout_has_available_ds() argument
575 for (idx = 0; idx < FF_LAYOUT_MIRROR_COUNT(lseg); idx++) { in ff_read_layout_has_available_ds()
576 mirror = FF_LAYOUT_COMP(lseg, idx); in ff_read_layout_has_available_ds()
593 static bool ff_rw_layout_has_available_ds(struct pnfs_layout_segment *lseg) in ff_rw_layout_has_available_ds() argument
599 for (idx = 0; idx < FF_LAYOUT_MIRROR_COUNT(lseg); idx++) { in ff_rw_layout_has_available_ds()
600 mirror = FF_LAYOUT_COMP(lseg, idx); in ff_rw_layout_has_available_ds()
614 return FF_LAYOUT_MIRROR_COUNT(lseg) != 0; in ff_rw_layout_has_available_ds()
617 static bool ff_layout_has_available_ds(struct pnfs_layout_segment *lseg) in ff_layout_has_available_ds() argument
619 if (lseg->pls_range.iomode == IOMODE_READ) in ff_layout_has_available_ds()
620 return ff_read_layout_has_available_ds(lseg); in ff_layout_has_available_ds()
622 return ff_rw_layout_has_available_ds(lseg); in ff_layout_has_available_ds()
625 bool ff_layout_avoid_mds_available_ds(struct pnfs_layout_segment *lseg) in ff_layout_avoid_mds_available_ds() argument
627 return ff_layout_no_fallback_to_mds(lseg) || in ff_layout_avoid_mds_available_ds()
628 ff_layout_has_available_ds(lseg); in ff_layout_avoid_mds_available_ds()
631 bool ff_layout_avoid_read_on_rw(struct pnfs_layout_segment *lseg) in ff_layout_avoid_read_on_rw() argument
633 return lseg->pls_range.iomode == IOMODE_RW && in ff_layout_avoid_read_on_rw()
634 ff_layout_no_read_on_rw(lseg); in ff_layout_avoid_read_on_rw()