Lines Matching refs:lseg
320 struct pnfs_layout_segment *lseg, in ff_layout_add_lseg() argument
323 pnfs_generic_layout_insert_lseg(lo, lseg, in ff_layout_add_lseg()
531 struct pnfs_layout_segment *lseg; in ff_layout_has_rw_segments() local
533 list_for_each_entry(lseg, &layout->plh_segs, pls_list) in ff_layout_has_rw_segments()
534 if (lseg->pls_range.iomode == IOMODE_RW) in ff_layout_has_rw_segments()
541 ff_layout_free_lseg(struct pnfs_layout_segment *lseg) in ff_layout_free_lseg() argument
543 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in ff_layout_free_lseg()
547 if (lseg->pls_range.iomode == IOMODE_RW) { in ff_layout_free_lseg()
551 ffl = FF_LAYOUT_FROM_HDR(lseg->pls_layout); in ff_layout_free_lseg()
554 if (!ff_layout_has_rw_segments(lseg->pls_layout)) { in ff_layout_free_lseg()
712 ff_layout_alloc_commit_info(struct pnfs_layout_segment *lseg, in ff_layout_alloc_commit_info() argument
716 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in ff_layout_alloc_commit_info()
729 size = ff_layout_get_lseg_count(fls) * FF_LAYOUT_MIRROR_COUNT(lseg); in ff_layout_alloc_commit_info()
758 ff_layout_choose_best_ds_for_read(struct pnfs_layout_segment *lseg, in ff_layout_choose_best_ds_for_read() argument
762 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in ff_layout_choose_best_ds_for_read()
768 ds = nfs4_ff_layout_prepare_ds(lseg, idx, false); in ff_layout_choose_best_ds_for_read()
965 struct pnfs_layout_segment *lseg, in ff_layout_async_handle_error_v4() argument
968 struct pnfs_layout_hdr *lo = lseg->pls_layout; in ff_layout_async_handle_error_v4()
972 struct nfs4_deviceid_node *devid = FF_LAYOUT_DEVID_NODE(lseg, idx); in ff_layout_async_handle_error_v4()
1052 if (ff_layout_no_fallback_to_mds(lseg) || in ff_layout_async_handle_error_v4()
1053 ff_layout_has_available_ds(lseg)) in ff_layout_async_handle_error_v4()
1075 struct pnfs_layout_segment *lseg, in ff_layout_async_handle_error_v3() argument
1078 struct nfs4_deviceid_node *devid = FF_LAYOUT_DEVID_NODE(lseg, idx); in ff_layout_async_handle_error_v3()
1093 nfs_inc_stats(lseg->pls_layout->plh_inode, NFSIOS_DELAY); in ff_layout_async_handle_error_v3()
1112 struct pnfs_layout_segment *lseg, in ff_layout_async_handle_error() argument
1119 return ff_layout_async_handle_error_v3(task, lseg, idx); in ff_layout_async_handle_error()
1122 lseg, idx); in ff_layout_async_handle_error()
1130 static void ff_layout_io_track_ds_error(struct pnfs_layout_segment *lseg, in ff_layout_io_track_ds_error() argument
1162 mirror = FF_LAYOUT_COMP(lseg, idx); in ff_layout_io_track_ds_error()
1163 err = ff_layout_track_ds_error(FF_LAYOUT_FROM_HDR(lseg->pls_layout), in ff_layout_io_track_ds_error()
1166 pnfs_error_mark_layout_for_return(lseg->pls_layout->plh_inode, lseg); in ff_layout_io_track_ds_error()
1178 ff_layout_io_track_ds_error(hdr->lseg, hdr->pgio_mirror_idx, in ff_layout_read_done_cb()
1183 hdr->ds_clp, hdr->lseg, in ff_layout_read_done_cb()
1188 if (ff_layout_choose_best_ds_for_read(hdr->lseg, in ff_layout_read_done_cb()
1193 &hdr->lseg->pls_layout->plh_flags); in ff_layout_read_done_cb()
1210 ff_layout_need_layoutcommit(struct pnfs_layout_segment *lseg) in ff_layout_need_layoutcommit() argument
1212 return !(FF_LAYOUT_LSEG(lseg)->flags & FF_FLAGS_NO_LAYOUTCOMMIT); in ff_layout_need_layoutcommit()
1227 if (!ff_layout_need_layoutcommit(hdr->lseg)) in ff_layout_set_layoutcommit()
1230 pnfs_set_layoutcommit(hdr->inode, hdr->lseg, in ff_layout_set_layoutcommit()
1237 ff_layout_reset_to_mds(struct pnfs_layout_segment *lseg, int idx) in ff_layout_reset_to_mds() argument
1240 struct nfs4_deviceid_node *node = FF_LAYOUT_DEVID_NODE(lseg, idx); in ff_layout_reset_to_mds()
1249 FF_LAYOUT_COMP(hdr->lseg, hdr->pgio_mirror_idx), in ff_layout_read_prepare_common()
1257 if (ff_layout_reset_to_mds(hdr->lseg, hdr->pgio_mirror_idx)) { in ff_layout_read_prepare_common()
1259 if (ff_layout_has_available_ds(hdr->lseg)) in ff_layout_read_prepare_common()
1327 FF_LAYOUT_COMP(hdr->lseg, hdr->pgio_mirror_idx), in ff_layout_read_call_done()
1355 ff_layout_io_track_ds_error(hdr->lseg, hdr->pgio_mirror_idx, in ff_layout_write_done_cb()
1360 hdr->ds_clp, hdr->lseg, in ff_layout_write_done_cb()
1365 pnfs_set_retry_layoutget(hdr->lseg->pls_layout); in ff_layout_write_done_cb()
1369 pnfs_clear_retry_layoutget(hdr->lseg->pls_layout); in ff_layout_write_done_cb()
1396 ff_layout_io_track_ds_error(data->lseg, data->ds_commit_index, in ff_layout_commit_done_cb()
1401 data->lseg, data->ds_commit_index); in ff_layout_commit_done_cb()
1405 pnfs_set_retry_layoutget(data->lseg->pls_layout); in ff_layout_commit_done_cb()
1409 pnfs_clear_retry_layoutget(data->lseg->pls_layout); in ff_layout_commit_done_cb()
1418 && ff_layout_need_layoutcommit(data->lseg)) in ff_layout_commit_done_cb()
1419 pnfs_set_layoutcommit(data->inode, data->lseg, data->lwb); in ff_layout_commit_done_cb()
1428 FF_LAYOUT_COMP(hdr->lseg, hdr->pgio_mirror_idx), in ff_layout_write_prepare_common()
1437 if (ff_layout_reset_to_mds(hdr->lseg, hdr->pgio_mirror_idx)) { in ff_layout_write_prepare_common()
1440 retry_pnfs = ff_layout_has_available_ds(hdr->lseg); in ff_layout_write_prepare_common()
1484 FF_LAYOUT_COMP(hdr->lseg, hdr->pgio_mirror_idx), in ff_layout_write_call_done()
1510 FF_LAYOUT_COMP(cdata->lseg, cdata->ds_commit_index), in ff_layout_commit_prepare_common()
1544 FF_LAYOUT_COMP(cdata->lseg, cdata->ds_commit_index), in ff_layout_commit_done()
1603 struct pnfs_layout_segment *lseg = hdr->lseg; in ff_layout_read_pagelist() local
1616 ds = nfs4_ff_layout_prepare_ds(lseg, idx, false); in ff_layout_read_pagelist()
1620 ds_clnt = nfs4_ff_find_or_create_ds_client(lseg, idx, ds->ds_clp, in ff_layout_read_pagelist()
1625 ds_cred = ff_layout_get_ds_cred(lseg, idx, hdr->cred); in ff_layout_read_pagelist()
1629 vers = nfs4_ff_layout_ds_version(lseg, idx); in ff_layout_read_pagelist()
1636 fh = nfs4_ff_layout_select_ds_fh(lseg, idx); in ff_layout_read_pagelist()
1655 if (ff_layout_has_available_ds(lseg)) in ff_layout_read_pagelist()
1664 struct pnfs_layout_segment *lseg = hdr->lseg; in ff_layout_write_pagelist() local
1673 ds = nfs4_ff_layout_prepare_ds(lseg, idx, true); in ff_layout_write_pagelist()
1677 ds_clnt = nfs4_ff_find_or_create_ds_client(lseg, idx, ds->ds_clp, in ff_layout_write_pagelist()
1682 ds_cred = ff_layout_get_ds_cred(lseg, idx, hdr->cred); in ff_layout_write_pagelist()
1686 vers = nfs4_ff_layout_ds_version(lseg, idx); in ff_layout_write_pagelist()
1697 fh = nfs4_ff_layout_select_ds_fh(lseg, idx); in ff_layout_write_pagelist()
1715 static u32 calc_ds_index_from_commit(struct pnfs_layout_segment *lseg, u32 i) in calc_ds_index_from_commit() argument
1721 select_ds_fh_from_commit(struct pnfs_layout_segment *lseg, u32 i) in select_ds_fh_from_commit() argument
1723 struct nfs4_ff_layout_segment *flseg = FF_LAYOUT_LSEG(lseg); in select_ds_fh_from_commit()
1733 struct pnfs_layout_segment *lseg = data->lseg; in ff_layout_initiate_commit() local
1741 idx = calc_ds_index_from_commit(lseg, data->ds_commit_index); in ff_layout_initiate_commit()
1742 ds = nfs4_ff_layout_prepare_ds(lseg, idx, true); in ff_layout_initiate_commit()
1746 ds_clnt = nfs4_ff_find_or_create_ds_client(lseg, idx, ds->ds_clp, in ff_layout_initiate_commit()
1751 ds_cred = ff_layout_get_ds_cred(lseg, idx, data->cred); in ff_layout_initiate_commit()
1755 vers = nfs4_ff_layout_ds_version(lseg, idx); in ff_layout_initiate_commit()
1764 fh = select_ds_fh_from_commit(lseg, data->ds_commit_index); in ff_layout_initiate_commit()