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()
189 pnfs_error_mark_layout_for_return(inode, lseg); in filelayout_async_handle_error()
190 pnfs_set_lo_fail(lseg); in filelayout_async_handle_error()
212 hdr->ds_clp, hdr->lseg); in filelayout_read_done_cb()
236 if (FILELAYOUT_LSEG(hdr->lseg)->commit_through_mds || in filelayout_set_layoutcommit()
243 pnfs_set_layoutcommit(hdr->inode, hdr->lseg, end_offs); in filelayout_set_layoutcommit()
256 filelayout_reset_to_mds(struct pnfs_layout_segment *lseg) in filelayout_reset_to_mds() argument
258 struct nfs4_deviceid_node *node = FILELAYOUT_DEVID_NODE(lseg); in filelayout_reset_to_mds()
276 if (filelayout_reset_to_mds(hdr->lseg)) { in filelayout_read_prepare()
322 hdr->ds_clp, hdr->lseg); in filelayout_write_done_cb()
350 data->lseg); in filelayout_commit_done_cb()
361 pnfs_set_layoutcommit(data->inode, data->lseg, data->lwb); in filelayout_commit_done_cb()
374 if (filelayout_reset_to_mds(hdr->lseg)) { in filelayout_write_prepare()
452 struct pnfs_layout_segment *lseg = hdr->lseg; in filelayout_read_pagelist() local
464 j = nfs4_fl_calc_j_index(lseg, offset); in filelayout_read_pagelist()
465 idx = nfs4_fl_calc_ds_index(lseg, j); in filelayout_read_pagelist()
466 ds = nfs4_fl_prepare_ds(lseg, idx); in filelayout_read_pagelist()
481 fh = nfs4_fl_select_ds_fh(lseg, j); in filelayout_read_pagelist()
485 hdr->args.offset = filelayout_get_dserver_offset(lseg, offset); in filelayout_read_pagelist()
499 struct pnfs_layout_segment *lseg = hdr->lseg; in filelayout_write_pagelist() local
507 j = nfs4_fl_calc_j_index(lseg, offset); in filelayout_write_pagelist()
508 idx = nfs4_fl_calc_ds_index(lseg, j); in filelayout_write_pagelist()
509 ds = nfs4_fl_prepare_ds(lseg, idx); in filelayout_write_pagelist()
525 fh = nfs4_fl_select_ds_fh(lseg, j); in filelayout_write_pagelist()
528 hdr->args.offset = filelayout_get_dserver_offset(lseg, offset); in filelayout_write_pagelist()
736 filelayout_free_lseg(struct pnfs_layout_segment *lseg) in filelayout_free_lseg() argument
738 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); in filelayout_free_lseg()
744 if (lseg->pls_range.iomode == IOMODE_RW) { in filelayout_free_lseg()
748 flo = FILELAYOUT_FROM_HDR(lseg->pls_layout); in filelayout_free_lseg()
751 pnfs_generic_ds_cinfo_release_lseg(&flo->commit_info, lseg); in filelayout_free_lseg()
837 struct pnfs_layout_segment *lseg = NULL; in fl_pnfs_update_layout() local
842 lseg = pnfs_update_layout(ino, ctx, pos, count, iomode, strict_iomode, in fl_pnfs_update_layout()
844 if (IS_ERR(lseg)) { in fl_pnfs_update_layout()
846 if (!nfs_error_is_fatal_on_server(PTR_ERR(lseg))) in fl_pnfs_update_layout()
847 lseg = NULL; in fl_pnfs_update_layout()
849 } else if (!lseg) in fl_pnfs_update_layout()
853 fl = FILELAYOUT_LSEG(lseg); in fl_pnfs_update_layout()
857 pnfs_error_mark_layout_for_return(ino, lseg); in fl_pnfs_update_layout()
858 pnfs_set_lo_fail(lseg); in fl_pnfs_update_layout()
859 pnfs_put_lseg(lseg); in fl_pnfs_update_layout()
860 lseg = NULL; in fl_pnfs_update_layout()
863 return lseg; in fl_pnfs_update_layout()
939 struct pnfs_layout_segment *lseg, in filelayout_mark_request_commit() argument
944 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); in filelayout_mark_request_commit()
956 j = nfs4_fl_calc_j_index(lseg, req_offset(req)); in filelayout_mark_request_commit()
958 pnfs_layout_mark_request_commit(req, lseg, cinfo, i); in filelayout_mark_request_commit()
962 static u32 calc_ds_index_from_commit(struct pnfs_layout_segment *lseg, u32 i) in calc_ds_index_from_commit() argument
964 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in calc_ds_index_from_commit()
969 return nfs4_fl_calc_ds_index(lseg, i); in calc_ds_index_from_commit()
973 select_ds_fh_from_commit(struct pnfs_layout_segment *lseg, u32 i) in select_ds_fh_from_commit() argument
975 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in select_ds_fh_from_commit()
989 struct pnfs_layout_segment *lseg = data->lseg; in filelayout_initiate_commit() local
995 idx = calc_ds_index_from_commit(lseg, data->ds_commit_index); in filelayout_initiate_commit()
996 ds = nfs4_fl_prepare_ds(lseg, idx); in filelayout_initiate_commit()
1009 fh = select_ds_fh_from_commit(lseg, data->ds_commit_index); in filelayout_initiate_commit()
1079 struct pnfs_layout_segment *lseg) in filelayout_setup_ds_info() argument
1081 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); in filelayout_setup_ds_info()
1082 struct inode *inode = lseg->pls_layout->plh_inode; in filelayout_setup_ds_info()
1090 array = pnfs_add_commit_array(fl_cinfo, new, lseg); in filelayout_setup_ds_info()