Lines Matching refs:lseg
74 filelayout_get_dserver_offset(struct pnfs_layout_segment *lseg, loff_t offset) in filelayout_get_dserver_offset() argument
76 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in filelayout_get_dserver_offset()
126 struct pnfs_layout_segment *lseg) in filelayout_async_handle_error() argument
128 struct pnfs_layout_hdr *lo = lseg->pls_layout; in filelayout_async_handle_error()
130 struct nfs4_deviceid_node *devid = FILELAYOUT_DEVID_NODE(lseg); in filelayout_async_handle_error()
187 pnfs_error_mark_layout_for_return(inode, lseg); in filelayout_async_handle_error()
188 pnfs_set_lo_fail(lseg); in filelayout_async_handle_error()
210 hdr->ds_clp, hdr->lseg); in filelayout_read_done_cb()
234 if (FILELAYOUT_LSEG(hdr->lseg)->commit_through_mds || in filelayout_set_layoutcommit()
241 pnfs_set_layoutcommit(hdr->inode, hdr->lseg, end_offs); in filelayout_set_layoutcommit()
254 filelayout_reset_to_mds(struct pnfs_layout_segment *lseg) in filelayout_reset_to_mds() argument
256 struct nfs4_deviceid_node *node = FILELAYOUT_DEVID_NODE(lseg); in filelayout_reset_to_mds()
274 if (filelayout_reset_to_mds(hdr->lseg)) { in filelayout_read_prepare()
320 hdr->ds_clp, hdr->lseg); in filelayout_write_done_cb()
348 data->lseg); in filelayout_commit_done_cb()
359 pnfs_set_layoutcommit(data->inode, data->lseg, data->lwb); in filelayout_commit_done_cb()
372 if (filelayout_reset_to_mds(hdr->lseg)) { in filelayout_write_prepare()
450 struct pnfs_layout_segment *lseg = hdr->lseg; in filelayout_read_pagelist() local
462 j = nfs4_fl_calc_j_index(lseg, offset); in filelayout_read_pagelist()
463 idx = nfs4_fl_calc_ds_index(lseg, j); in filelayout_read_pagelist()
464 ds = nfs4_fl_prepare_ds(lseg, idx); in filelayout_read_pagelist()
479 fh = nfs4_fl_select_ds_fh(lseg, j); in filelayout_read_pagelist()
483 hdr->args.offset = filelayout_get_dserver_offset(lseg, offset); in filelayout_read_pagelist()
497 struct pnfs_layout_segment *lseg = hdr->lseg; in filelayout_write_pagelist() local
505 j = nfs4_fl_calc_j_index(lseg, offset); in filelayout_write_pagelist()
506 idx = nfs4_fl_calc_ds_index(lseg, j); in filelayout_write_pagelist()
507 ds = nfs4_fl_prepare_ds(lseg, idx); in filelayout_write_pagelist()
523 fh = nfs4_fl_select_ds_fh(lseg, j); in filelayout_write_pagelist()
526 hdr->args.offset = filelayout_get_dserver_offset(lseg, offset); in filelayout_write_pagelist()
742 filelayout_free_lseg(struct pnfs_layout_segment *lseg) in filelayout_free_lseg() argument
744 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); in filelayout_free_lseg()
750 if (lseg->pls_range.iomode == IOMODE_RW) { in filelayout_free_lseg()
754 flo = FILELAYOUT_FROM_HDR(lseg->pls_layout); in filelayout_free_lseg()
757 pnfs_generic_ds_cinfo_release_lseg(&flo->commit_info, lseg); in filelayout_free_lseg()
835 struct pnfs_layout_segment *lseg = NULL; in fl_pnfs_update_layout() local
840 lseg = pnfs_update_layout(ino, ctx, pos, count, iomode, strict_iomode, in fl_pnfs_update_layout()
842 if (IS_ERR_OR_NULL(lseg)) in fl_pnfs_update_layout()
846 fl = FILELAYOUT_LSEG(lseg); in fl_pnfs_update_layout()
850 pnfs_put_lseg(lseg); in fl_pnfs_update_layout()
851 lseg = NULL; in fl_pnfs_update_layout()
854 return lseg; in fl_pnfs_update_layout()
930 struct pnfs_layout_segment *lseg, in filelayout_mark_request_commit() argument
935 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); in filelayout_mark_request_commit()
947 j = nfs4_fl_calc_j_index(lseg, req_offset(req)); in filelayout_mark_request_commit()
949 pnfs_layout_mark_request_commit(req, lseg, cinfo, i); in filelayout_mark_request_commit()
953 static u32 calc_ds_index_from_commit(struct pnfs_layout_segment *lseg, u32 i) in calc_ds_index_from_commit() argument
955 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in calc_ds_index_from_commit()
960 return nfs4_fl_calc_ds_index(lseg, i); in calc_ds_index_from_commit()
964 select_ds_fh_from_commit(struct pnfs_layout_segment *lseg, u32 i) in select_ds_fh_from_commit() argument
966 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in select_ds_fh_from_commit()
980 struct pnfs_layout_segment *lseg = data->lseg; in filelayout_initiate_commit() local
986 idx = calc_ds_index_from_commit(lseg, data->ds_commit_index); in filelayout_initiate_commit()
987 ds = nfs4_fl_prepare_ds(lseg, idx); in filelayout_initiate_commit()
1000 fh = select_ds_fh_from_commit(lseg, data->ds_commit_index); in filelayout_initiate_commit()
1070 struct pnfs_layout_segment *lseg) in filelayout_setup_ds_info() argument
1072 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); in filelayout_setup_ds_info()
1073 struct inode *inode = lseg->pls_layout->plh_inode; in filelayout_setup_ds_info()
1081 array = pnfs_add_commit_array(fl_cinfo, new, lseg); in filelayout_setup_ds_info()