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()
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()
744 filelayout_free_lseg(struct pnfs_layout_segment *lseg) in filelayout_free_lseg() argument
746 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); in filelayout_free_lseg()
752 if (lseg->pls_range.iomode == IOMODE_RW) { in filelayout_free_lseg()
756 flo = FILELAYOUT_FROM_HDR(lseg->pls_layout); in filelayout_free_lseg()
759 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_OR_NULL(lseg)) in fl_pnfs_update_layout()
848 fl = FILELAYOUT_LSEG(lseg); in fl_pnfs_update_layout()
852 pnfs_put_lseg(lseg); in fl_pnfs_update_layout()
853 lseg = NULL; in fl_pnfs_update_layout()
856 return lseg; in fl_pnfs_update_layout()
932 struct pnfs_layout_segment *lseg, in filelayout_mark_request_commit() argument
937 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); in filelayout_mark_request_commit()
949 j = nfs4_fl_calc_j_index(lseg, req_offset(req)); in filelayout_mark_request_commit()
951 pnfs_layout_mark_request_commit(req, lseg, cinfo, i); in filelayout_mark_request_commit()
955 static u32 calc_ds_index_from_commit(struct pnfs_layout_segment *lseg, u32 i) in calc_ds_index_from_commit() argument
957 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in calc_ds_index_from_commit()
962 return nfs4_fl_calc_ds_index(lseg, i); in calc_ds_index_from_commit()
966 select_ds_fh_from_commit(struct pnfs_layout_segment *lseg, u32 i) in select_ds_fh_from_commit() argument
968 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in select_ds_fh_from_commit()
982 struct pnfs_layout_segment *lseg = data->lseg; in filelayout_initiate_commit() local
988 idx = calc_ds_index_from_commit(lseg, data->ds_commit_index); in filelayout_initiate_commit()
989 ds = nfs4_fl_prepare_ds(lseg, idx); in filelayout_initiate_commit()
1002 fh = select_ds_fh_from_commit(lseg, data->ds_commit_index); in filelayout_initiate_commit()
1072 struct pnfs_layout_segment *lseg) in filelayout_setup_ds_info() argument
1074 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); in filelayout_setup_ds_info()
1075 struct inode *inode = lseg->pls_layout->plh_inode; in filelayout_setup_ds_info()
1083 array = pnfs_add_commit_array(fl_cinfo, new, lseg); in filelayout_setup_ds_info()