Lines Matching defs:lseg

74 filelayout_get_dserver_offset(struct pnfs_layout_segment *lseg, loff_t offset)
76 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg);
126 struct pnfs_layout_segment *lseg)
128 struct pnfs_layout_hdr *lo = lseg->pls_layout;
130 struct nfs4_deviceid_node *devid = FILELAYOUT_DEVID_NODE(lseg);
168 * Layout will not be destroyed until all current lseg
189 pnfs_error_mark_layout_for_return(inode, lseg);
190 pnfs_set_lo_fail(lseg);
212 hdr->ds_clp, hdr->lseg);
236 if (FILELAYOUT_LSEG(hdr->lseg)->commit_through_mds ||
243 pnfs_set_layoutcommit(hdr->inode, hdr->lseg, end_offs);
256 filelayout_reset_to_mds(struct pnfs_layout_segment *lseg)
258 struct nfs4_deviceid_node *node = FILELAYOUT_DEVID_NODE(lseg);
276 if (filelayout_reset_to_mds(hdr->lseg)) {
322 hdr->ds_clp, hdr->lseg);
350 data->lseg);
361 pnfs_set_layoutcommit(data->inode, data->lseg, data->lwb);
374 if (filelayout_reset_to_mds(hdr->lseg)) {
452 struct pnfs_layout_segment *lseg = hdr->lseg;
464 j = nfs4_fl_calc_j_index(lseg, offset);
465 idx = nfs4_fl_calc_ds_index(lseg, j);
466 ds = nfs4_fl_prepare_ds(lseg, idx);
481 fh = nfs4_fl_select_ds_fh(lseg, j);
485 hdr->args.offset = filelayout_get_dserver_offset(lseg, offset);
499 struct pnfs_layout_segment *lseg = hdr->lseg;
507 j = nfs4_fl_calc_j_index(lseg, offset);
508 idx = nfs4_fl_calc_ds_index(lseg, j);
509 ds = nfs4_fl_prepare_ds(lseg, idx);
525 fh = nfs4_fl_select_ds_fh(lseg, j);
528 hdr->args.offset = filelayout_get_dserver_offset(lseg, offset);
594 * At this point no generic layer initialization of the lseg has occurred,
744 filelayout_free_lseg(struct pnfs_layout_segment *lseg)
746 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg);
751 /* This assumes a single RW lseg */
752 if (lseg->pls_range.iomode == IOMODE_RW) {
756 flo = FILELAYOUT_FROM_HDR(lseg->pls_layout);
759 pnfs_generic_ds_cinfo_release_lseg(&flo->commit_info, lseg);
845 struct pnfs_layout_segment *lseg = NULL;
850 lseg = pnfs_update_layout(ino, ctx, pos, count, iomode, strict_iomode,
852 if (IS_ERR(lseg)) {
854 if (!nfs_error_is_fatal_on_server(PTR_ERR(lseg)))
855 lseg = NULL;
857 } else if (!lseg)
861 fl = FILELAYOUT_LSEG(lseg);
865 pnfs_error_mark_layout_for_return(ino, lseg);
866 pnfs_set_lo_fail(lseg);
867 pnfs_put_lseg(lseg);
868 lseg = NULL;
871 return lseg;
893 /* If no lseg, fall back to read through mds */
918 /* If no lseg, fall back to write through mds */
947 struct pnfs_layout_segment *lseg,
952 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg);
964 j = nfs4_fl_calc_j_index(lseg, req_offset(req));
966 pnfs_layout_mark_request_commit(req, lseg, cinfo, i);
970 static u32 calc_ds_index_from_commit(struct pnfs_layout_segment *lseg, u32 i)
972 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg);
977 return nfs4_fl_calc_ds_index(lseg, i);
981 select_ds_fh_from_commit(struct pnfs_layout_segment *lseg, u32 i)
983 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg);
997 struct pnfs_layout_segment *lseg = data->lseg;
1003 idx = calc_ds_index_from_commit(lseg, data->ds_commit_index);
1004 ds = nfs4_fl_prepare_ds(lseg, idx);
1017 fh = select_ds_fh_from_commit(lseg, data->ds_commit_index);
1087 struct pnfs_layout_segment *lseg)
1089 struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg);
1090 struct inode *inode = lseg->pls_layout->plh_inode;
1098 array = pnfs_add_commit_array(fl_cinfo, new, lseg);