lseg 249 arch/x86/kernel/module.c void *lseg = (void *)locks->sh_addr; lseg 252 arch/x86/kernel/module.c lseg, lseg + locks->sh_size, lseg 194 fs/nfs/blocklayout/blocklayout.c struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); lseg 224 fs/nfs/blocklayout/blocklayout.c pnfs_set_lo_fail(header->lseg); lseg 255 fs/nfs/blocklayout/blocklayout.c struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); lseg 354 fs/nfs/blocklayout/blocklayout.c pnfs_set_lo_fail(header->lseg); lseg 373 fs/nfs/blocklayout/blocklayout.c struct pnfs_block_layout *bl = BLK_LSEG2EXT(hdr->lseg); lseg 400 fs/nfs/blocklayout/blocklayout.c struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); lseg 512 fs/nfs/blocklayout/blocklayout.c static void bl_free_lseg(struct pnfs_layout_segment *lseg) lseg 515 fs/nfs/blocklayout/blocklayout.c kfree(lseg); lseg 678 fs/nfs/blocklayout/blocklayout.c struct pnfs_layout_segment *lseg; lseg 689 fs/nfs/blocklayout/blocklayout.c lseg = kzalloc(sizeof(*lseg), gfp_mask); lseg 690 fs/nfs/blocklayout/blocklayout.c if (!lseg) lseg 755 fs/nfs/blocklayout/blocklayout.c set_bit(NFS_LSEG_UNAVAILABLE, &lseg->pls_flags); lseg 758 fs/nfs/blocklayout/blocklayout.c return lseg; lseg 760 fs/nfs/blocklayout/blocklayout.c kfree(lseg); lseg 153 fs/nfs/blocklayout/blocklayout.h BLK_LSEG2EXT(struct pnfs_layout_segment *lseg) lseg 155 fs/nfs/blocklayout/blocklayout.h return BLK_LO2EXT(lseg->pls_layout); lseg 796 fs/nfs/direct.c nfs_mark_request_commit(req, hdr->lseg, &cinfo, lseg 73 fs/nfs/filelayout/filelayout.c filelayout_get_dserver_offset(struct pnfs_layout_segment *lseg, loff_t offset) lseg 75 fs/nfs/filelayout/filelayout.c struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); lseg 125 fs/nfs/filelayout/filelayout.c struct pnfs_layout_segment *lseg) lseg 127 fs/nfs/filelayout/filelayout.c struct pnfs_layout_hdr *lo = lseg->pls_layout; lseg 129 fs/nfs/filelayout/filelayout.c struct nfs4_deviceid_node *devid = FILELAYOUT_DEVID_NODE(lseg); lseg 186 fs/nfs/filelayout/filelayout.c pnfs_error_mark_layout_for_return(inode, lseg); lseg 187 fs/nfs/filelayout/filelayout.c pnfs_set_lo_fail(lseg); lseg 209 fs/nfs/filelayout/filelayout.c hdr->ds_clp, hdr->lseg); lseg 233 fs/nfs/filelayout/filelayout.c if (FILELAYOUT_LSEG(hdr->lseg)->commit_through_mds || lseg 240 fs/nfs/filelayout/filelayout.c pnfs_set_layoutcommit(hdr->inode, hdr->lseg, end_offs); lseg 253 fs/nfs/filelayout/filelayout.c filelayout_reset_to_mds(struct pnfs_layout_segment *lseg) lseg 255 fs/nfs/filelayout/filelayout.c struct nfs4_deviceid_node *node = FILELAYOUT_DEVID_NODE(lseg); lseg 273 fs/nfs/filelayout/filelayout.c if (filelayout_reset_to_mds(hdr->lseg)) { lseg 321 fs/nfs/filelayout/filelayout.c hdr->ds_clp, hdr->lseg); lseg 349 fs/nfs/filelayout/filelayout.c data->lseg); lseg 360 fs/nfs/filelayout/filelayout.c pnfs_set_layoutcommit(data->inode, data->lseg, data->lwb); lseg 373 fs/nfs/filelayout/filelayout.c if (filelayout_reset_to_mds(hdr->lseg)) { lseg 451 fs/nfs/filelayout/filelayout.c struct pnfs_layout_segment *lseg = hdr->lseg; lseg 463 fs/nfs/filelayout/filelayout.c j = nfs4_fl_calc_j_index(lseg, offset); lseg 464 fs/nfs/filelayout/filelayout.c idx = nfs4_fl_calc_ds_index(lseg, j); lseg 465 fs/nfs/filelayout/filelayout.c ds = nfs4_fl_prepare_ds(lseg, idx); lseg 480 fs/nfs/filelayout/filelayout.c fh = nfs4_fl_select_ds_fh(lseg, j); lseg 484 fs/nfs/filelayout/filelayout.c hdr->args.offset = filelayout_get_dserver_offset(lseg, offset); lseg 498 fs/nfs/filelayout/filelayout.c struct pnfs_layout_segment *lseg = hdr->lseg; lseg 506 fs/nfs/filelayout/filelayout.c j = nfs4_fl_calc_j_index(lseg, offset); lseg 507 fs/nfs/filelayout/filelayout.c idx = nfs4_fl_calc_ds_index(lseg, j); lseg 508 fs/nfs/filelayout/filelayout.c ds = nfs4_fl_prepare_ds(lseg, idx); lseg 524 fs/nfs/filelayout/filelayout.c fh = nfs4_fl_select_ds_fh(lseg, j); lseg 527 fs/nfs/filelayout/filelayout.c hdr->args.offset = filelayout_get_dserver_offset(lseg, offset); lseg 743 fs/nfs/filelayout/filelayout.c filelayout_free_lseg(struct pnfs_layout_segment *lseg) lseg 745 fs/nfs/filelayout/filelayout.c struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); lseg 751 fs/nfs/filelayout/filelayout.c if (lseg->pls_range.iomode == IOMODE_RW) { lseg 754 fs/nfs/filelayout/filelayout.c flo = FILELAYOUT_FROM_HDR(lseg->pls_layout); lseg 763 fs/nfs/filelayout/filelayout.c filelayout_alloc_commit_info(struct pnfs_layout_segment *lseg, lseg 767 fs/nfs/filelayout/filelayout.c struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); lseg 891 fs/nfs/filelayout/filelayout.c struct pnfs_layout_segment *lseg = NULL; lseg 896 fs/nfs/filelayout/filelayout.c lseg = pnfs_update_layout(ino, ctx, pos, count, iomode, strict_iomode, lseg 898 fs/nfs/filelayout/filelayout.c if (IS_ERR_OR_NULL(lseg)) lseg 902 fs/nfs/filelayout/filelayout.c fl = FILELAYOUT_LSEG(lseg); lseg 906 fs/nfs/filelayout/filelayout.c pnfs_put_lseg(lseg); lseg 907 fs/nfs/filelayout/filelayout.c lseg = NULL; lseg 910 fs/nfs/filelayout/filelayout.c return lseg; lseg 999 fs/nfs/filelayout/filelayout.c struct pnfs_layout_segment *lseg, lseg 1004 fs/nfs/filelayout/filelayout.c struct nfs4_filelayout_segment *fl = FILELAYOUT_LSEG(lseg); lseg 1016 fs/nfs/filelayout/filelayout.c j = nfs4_fl_calc_j_index(lseg, req_offset(req)); lseg 1018 fs/nfs/filelayout/filelayout.c pnfs_layout_mark_request_commit(req, lseg, cinfo, i); lseg 1022 fs/nfs/filelayout/filelayout.c static u32 calc_ds_index_from_commit(struct pnfs_layout_segment *lseg, u32 i) lseg 1024 fs/nfs/filelayout/filelayout.c struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); lseg 1029 fs/nfs/filelayout/filelayout.c return nfs4_fl_calc_ds_index(lseg, i); lseg 1033 fs/nfs/filelayout/filelayout.c select_ds_fh_from_commit(struct pnfs_layout_segment *lseg, u32 i) lseg 1035 fs/nfs/filelayout/filelayout.c struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); lseg 1049 fs/nfs/filelayout/filelayout.c struct pnfs_layout_segment *lseg = data->lseg; lseg 1055 fs/nfs/filelayout/filelayout.c idx = calc_ds_index_from_commit(lseg, data->ds_commit_index); lseg 1056 fs/nfs/filelayout/filelayout.c ds = nfs4_fl_prepare_ds(lseg, idx); lseg 1069 fs/nfs/filelayout/filelayout.c fh = select_ds_fh_from_commit(lseg, data->ds_commit_index); lseg 82 fs/nfs/filelayout/filelayout.h FILELAYOUT_LSEG(struct pnfs_layout_segment *lseg) lseg 84 fs/nfs/filelayout/filelayout.h return container_of(lseg, lseg 90 fs/nfs/filelayout/filelayout.h FILELAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg) lseg 92 fs/nfs/filelayout/filelayout.h return &FILELAYOUT_LSEG(lseg)->dsaddr->id_node; lseg 105 fs/nfs/filelayout/filelayout.h nfs4_fl_select_ds_fh(struct pnfs_layout_segment *lseg, u32 j); lseg 107 fs/nfs/filelayout/filelayout.h u32 nfs4_fl_calc_j_index(struct pnfs_layout_segment *lseg, loff_t offset); lseg 108 fs/nfs/filelayout/filelayout.h u32 nfs4_fl_calc_ds_index(struct pnfs_layout_segment *lseg, u32 j); lseg 109 fs/nfs/filelayout/filelayout.h struct nfs4_pnfs_ds *nfs4_fl_prepare_ds(struct pnfs_layout_segment *lseg, lseg 224 fs/nfs/filelayout/filelayoutdev.c nfs4_fl_calc_j_index(struct pnfs_layout_segment *lseg, loff_t offset) lseg 226 fs/nfs/filelayout/filelayoutdev.c struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); lseg 236 fs/nfs/filelayout/filelayoutdev.c nfs4_fl_calc_ds_index(struct pnfs_layout_segment *lseg, u32 j) lseg 238 fs/nfs/filelayout/filelayoutdev.c return FILELAYOUT_LSEG(lseg)->dsaddr->stripe_indices[j]; lseg 242 fs/nfs/filelayout/filelayoutdev.c nfs4_fl_select_ds_fh(struct pnfs_layout_segment *lseg, u32 j) lseg 244 fs/nfs/filelayout/filelayoutdev.c struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); lseg 254 fs/nfs/filelayout/filelayoutdev.c i = nfs4_fl_calc_ds_index(lseg, j); lseg 262 fs/nfs/filelayout/filelayoutdev.c nfs4_fl_prepare_ds(struct pnfs_layout_segment *lseg, u32 ds_idx) lseg 264 fs/nfs/filelayout/filelayoutdev.c struct nfs4_file_layout_dsaddr *dsaddr = FILELAYOUT_LSEG(lseg)->dsaddr; lseg 266 fs/nfs/filelayout/filelayoutdev.c struct nfs4_deviceid_node *devid = FILELAYOUT_DEVID_NODE(lseg); lseg 268 fs/nfs/filelayout/filelayoutdev.c struct nfs_server *s = NFS_SERVER(lseg->pls_layout->plh_inode); lseg 341 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_segment *lseg, lseg 344 fs/nfs/flexfilelayout/flexfilelayout.c pnfs_generic_layout_insert_lseg(lo, lseg, lseg 565 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_segment *lseg; lseg 567 fs/nfs/flexfilelayout/flexfilelayout.c list_for_each_entry(lseg, &layout->plh_segs, pls_list) lseg 568 fs/nfs/flexfilelayout/flexfilelayout.c if (lseg->pls_range.iomode == IOMODE_RW) lseg 575 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_free_lseg(struct pnfs_layout_segment *lseg) lseg 577 fs/nfs/flexfilelayout/flexfilelayout.c struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); lseg 581 fs/nfs/flexfilelayout/flexfilelayout.c if (lseg->pls_range.iomode == IOMODE_RW) { lseg 585 fs/nfs/flexfilelayout/flexfilelayout.c ffl = FF_LAYOUT_FROM_HDR(lseg->pls_layout); lseg 588 fs/nfs/flexfilelayout/flexfilelayout.c if (!ff_layout_has_rw_segments(lseg->pls_layout)) { lseg 750 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_alloc_commit_info(struct pnfs_layout_segment *lseg, lseg 754 fs/nfs/flexfilelayout/flexfilelayout.c struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); lseg 767 fs/nfs/flexfilelayout/flexfilelayout.c size = ff_layout_get_lseg_count(fls) * FF_LAYOUT_MIRROR_COUNT(lseg); lseg 796 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_mark_ds_unreachable(struct pnfs_layout_segment *lseg, int idx) lseg 798 fs/nfs/flexfilelayout/flexfilelayout.c struct nfs4_deviceid_node *devid = FF_LAYOUT_DEVID_NODE(lseg, idx); lseg 805 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_mark_ds_reachable(struct pnfs_layout_segment *lseg, int idx) lseg 807 fs/nfs/flexfilelayout/flexfilelayout.c struct nfs4_deviceid_node *devid = FF_LAYOUT_DEVID_NODE(lseg, idx); lseg 814 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_choose_ds_for_read(struct pnfs_layout_segment *lseg, lseg 818 fs/nfs/flexfilelayout/flexfilelayout.c struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); lseg 829 fs/nfs/flexfilelayout/flexfilelayout.c mirror = FF_LAYOUT_COMP(lseg, idx); lseg 830 fs/nfs/flexfilelayout/flexfilelayout.c ds = nfs4_ff_layout_prepare_ds(lseg, mirror, fail_return); lseg 846 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_choose_any_ds_for_read(struct pnfs_layout_segment *lseg, lseg 849 fs/nfs/flexfilelayout/flexfilelayout.c return ff_layout_choose_ds_for_read(lseg, start_idx, best_idx, false); lseg 853 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_choose_valid_ds_for_read(struct pnfs_layout_segment *lseg, lseg 856 fs/nfs/flexfilelayout/flexfilelayout.c return ff_layout_choose_ds_for_read(lseg, start_idx, best_idx, true); lseg 860 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_choose_best_ds_for_read(struct pnfs_layout_segment *lseg, lseg 865 fs/nfs/flexfilelayout/flexfilelayout.c ds = ff_layout_choose_valid_ds_for_read(lseg, start_idx, best_idx); lseg 868 fs/nfs/flexfilelayout/flexfilelayout.c return ff_layout_choose_any_ds_for_read(lseg, start_idx, best_idx); lseg 1100 fs/nfs/flexfilelayout/flexfilelayout.c hdr->lseg); lseg 1123 fs/nfs/flexfilelayout/flexfilelayout.c hdr->lseg); lseg 1131 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_segment *lseg, lseg 1134 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_hdr *lo = lseg->pls_layout; lseg 1136 fs/nfs/flexfilelayout/flexfilelayout.c struct nfs4_deviceid_node *devid = FF_LAYOUT_DEVID_NODE(lseg, idx); lseg 1192 fs/nfs/flexfilelayout/flexfilelayout.c if (ff_layout_avoid_mds_available_ds(lseg)) lseg 1205 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_segment *lseg, lseg 1208 fs/nfs/flexfilelayout/flexfilelayout.c struct nfs4_deviceid_node *devid = FF_LAYOUT_DEVID_NODE(lseg, idx); lseg 1220 fs/nfs/flexfilelayout/flexfilelayout.c nfs_inc_stats(lseg->pls_layout->plh_inode, NFSIOS_DELAY); lseg 1240 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_segment *lseg, lseg 1246 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_mark_ds_reachable(lseg, idx); lseg 1251 fs/nfs/flexfilelayout/flexfilelayout.c if (!pnfs_is_valid_lseg(lseg)) lseg 1256 fs/nfs/flexfilelayout/flexfilelayout.c return ff_layout_async_handle_error_v3(task, lseg, idx); lseg 1259 fs/nfs/flexfilelayout/flexfilelayout.c lseg, idx); lseg 1267 fs/nfs/flexfilelayout/flexfilelayout.c static void ff_layout_io_track_ds_error(struct pnfs_layout_segment *lseg, lseg 1307 fs/nfs/flexfilelayout/flexfilelayout.c mirror = FF_LAYOUT_COMP(lseg, idx); lseg 1308 fs/nfs/flexfilelayout/flexfilelayout.c err = ff_layout_track_ds_error(FF_LAYOUT_FROM_HDR(lseg->pls_layout), lseg 1312 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_mark_ds_unreachable(lseg, idx); lseg 1313 fs/nfs/flexfilelayout/flexfilelayout.c pnfs_error_mark_layout_for_return(lseg->pls_layout->plh_inode, lseg); lseg 1326 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_io_track_ds_error(hdr->lseg, hdr->pgio_mirror_idx, lseg 1331 fs/nfs/flexfilelayout/flexfilelayout.c hdr->ds_clp, hdr->lseg, lseg 1338 fs/nfs/flexfilelayout/flexfilelayout.c if (ff_layout_choose_best_ds_for_read(hdr->lseg, lseg 1354 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_send_layouterror(hdr->lseg); lseg 1362 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_need_layoutcommit(struct pnfs_layout_segment *lseg) lseg 1364 fs/nfs/flexfilelayout/flexfilelayout.c return !(FF_LAYOUT_LSEG(lseg)->flags & FF_FLAGS_NO_LAYOUTCOMMIT); lseg 1378 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_segment *lseg, lseg 1381 fs/nfs/flexfilelayout/flexfilelayout.c if (!ff_layout_need_layoutcommit(lseg)) lseg 1384 fs/nfs/flexfilelayout/flexfilelayout.c pnfs_set_layoutcommit(inode, lseg, end_offset); lseg 1395 fs/nfs/flexfilelayout/flexfilelayout.c FF_LAYOUT_COMP(hdr->lseg, hdr->pgio_mirror_idx), lseg 1406 fs/nfs/flexfilelayout/flexfilelayout.c FF_LAYOUT_COMP(hdr->lseg, hdr->pgio_mirror_idx), lseg 1409 fs/nfs/flexfilelayout/flexfilelayout.c set_bit(NFS_LSEG_LAYOUTRETURN, &hdr->lseg->pls_flags); lseg 1483 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_send_layouterror(hdr->lseg); lseg 1499 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_io_track_ds_error(hdr->lseg, hdr->pgio_mirror_idx, lseg 1504 fs/nfs/flexfilelayout/flexfilelayout.c hdr->ds_clp, hdr->lseg, lseg 1525 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_set_layoutcommit(hdr->inode, hdr->lseg, end_offs); lseg 1542 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_io_track_ds_error(data->lseg, data->ds_commit_index, lseg 1547 fs/nfs/flexfilelayout/flexfilelayout.c data->lseg, data->ds_commit_index); lseg 1561 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_set_layoutcommit(data->inode, data->lseg, data->lwb); lseg 1572 fs/nfs/flexfilelayout/flexfilelayout.c FF_LAYOUT_COMP(hdr->lseg, hdr->pgio_mirror_idx), lseg 1583 fs/nfs/flexfilelayout/flexfilelayout.c FF_LAYOUT_COMP(hdr->lseg, hdr->pgio_mirror_idx), lseg 1586 fs/nfs/flexfilelayout/flexfilelayout.c set_bit(NFS_LSEG_LAYOUTRETURN, &hdr->lseg->pls_flags); lseg 1653 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_send_layouterror(hdr->lseg); lseg 1666 fs/nfs/flexfilelayout/flexfilelayout.c FF_LAYOUT_COMP(cdata->lseg, cdata->ds_commit_index), lseg 1684 fs/nfs/flexfilelayout/flexfilelayout.c FF_LAYOUT_COMP(cdata->lseg, cdata->ds_commit_index), lseg 1686 fs/nfs/flexfilelayout/flexfilelayout.c set_bit(NFS_LSEG_LAYOUTRETURN, &cdata->lseg->pls_flags); lseg 1780 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_segment *lseg = hdr->lseg; lseg 1794 fs/nfs/flexfilelayout/flexfilelayout.c mirror = FF_LAYOUT_COMP(lseg, idx); lseg 1795 fs/nfs/flexfilelayout/flexfilelayout.c ds = nfs4_ff_layout_prepare_ds(lseg, mirror, false); lseg 1804 fs/nfs/flexfilelayout/flexfilelayout.c ds_cred = ff_layout_get_ds_cred(mirror, &lseg->pls_range, hdr->cred); lseg 1838 fs/nfs/flexfilelayout/flexfilelayout.c if (ff_layout_avoid_mds_available_ds(lseg)) lseg 1842 fs/nfs/flexfilelayout/flexfilelayout.c IOMODE_READ, NFS_I(hdr->inode)->layout, lseg); lseg 1850 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_segment *lseg = hdr->lseg; lseg 1860 fs/nfs/flexfilelayout/flexfilelayout.c mirror = FF_LAYOUT_COMP(lseg, idx); lseg 1861 fs/nfs/flexfilelayout/flexfilelayout.c ds = nfs4_ff_layout_prepare_ds(lseg, mirror, true); lseg 1870 fs/nfs/flexfilelayout/flexfilelayout.c ds_cred = ff_layout_get_ds_cred(mirror, &lseg->pls_range, hdr->cred); lseg 1906 fs/nfs/flexfilelayout/flexfilelayout.c if (ff_layout_avoid_mds_available_ds(lseg)) lseg 1910 fs/nfs/flexfilelayout/flexfilelayout.c IOMODE_RW, NFS_I(hdr->inode)->layout, lseg); lseg 1914 fs/nfs/flexfilelayout/flexfilelayout.c static u32 calc_ds_index_from_commit(struct pnfs_layout_segment *lseg, u32 i) lseg 1920 fs/nfs/flexfilelayout/flexfilelayout.c select_ds_fh_from_commit(struct pnfs_layout_segment *lseg, u32 i) lseg 1922 fs/nfs/flexfilelayout/flexfilelayout.c struct nfs4_ff_layout_segment *flseg = FF_LAYOUT_LSEG(lseg); lseg 1932 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_segment *lseg = data->lseg; lseg 1941 fs/nfs/flexfilelayout/flexfilelayout.c if (!lseg || !(pnfs_is_valid_lseg(lseg) || lseg 1942 fs/nfs/flexfilelayout/flexfilelayout.c test_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags))) lseg 1945 fs/nfs/flexfilelayout/flexfilelayout.c idx = calc_ds_index_from_commit(lseg, data->ds_commit_index); lseg 1946 fs/nfs/flexfilelayout/flexfilelayout.c mirror = FF_LAYOUT_COMP(lseg, idx); lseg 1947 fs/nfs/flexfilelayout/flexfilelayout.c ds = nfs4_ff_layout_prepare_ds(lseg, mirror, true); lseg 1956 fs/nfs/flexfilelayout/flexfilelayout.c ds_cred = ff_layout_get_ds_cred(mirror, &lseg->pls_range, data->cred); lseg 1969 fs/nfs/flexfilelayout/flexfilelayout.c fh = select_ds_fh_from_commit(lseg, data->ds_commit_index); lseg 2192 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_send_layouterror(struct pnfs_layout_segment *lseg) lseg 2194 fs/nfs/flexfilelayout/flexfilelayout.c struct pnfs_layout_hdr *lo = lseg->pls_layout; lseg 2200 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_fetch_ds_ioerr(lo, &lseg->pls_range, &head, -1); lseg 2221 fs/nfs/flexfilelayout/flexfilelayout.c if (nfs42_proc_layouterror(lseg, errors, n) < 0) lseg 2231 fs/nfs/flexfilelayout/flexfilelayout.c ff_layout_send_layouterror(struct pnfs_layout_segment *lseg) lseg 128 fs/nfs/flexfilelayout/flexfilelayout.h FF_LAYOUT_LSEG(struct pnfs_layout_segment *lseg) lseg 130 fs/nfs/flexfilelayout/flexfilelayout.h return container_of(lseg, lseg 142 fs/nfs/flexfilelayout/flexfilelayout.h FF_LAYOUT_COMP(struct pnfs_layout_segment *lseg, u32 idx) lseg 144 fs/nfs/flexfilelayout/flexfilelayout.h struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); lseg 152 fs/nfs/flexfilelayout/flexfilelayout.h FF_LAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg, u32 idx) lseg 154 fs/nfs/flexfilelayout/flexfilelayout.h struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, idx); lseg 166 fs/nfs/flexfilelayout/flexfilelayout.h FF_LAYOUT_MIRROR_COUNT(struct pnfs_layout_segment *lseg) lseg 168 fs/nfs/flexfilelayout/flexfilelayout.h return FF_LAYOUT_LSEG(lseg)->mirror_array_cnt; lseg 172 fs/nfs/flexfilelayout/flexfilelayout.h ff_layout_no_fallback_to_mds(struct pnfs_layout_segment *lseg) lseg 174 fs/nfs/flexfilelayout/flexfilelayout.h return FF_LAYOUT_LSEG(lseg)->flags & FF_FLAGS_NO_IO_THRU_MDS; lseg 178 fs/nfs/flexfilelayout/flexfilelayout.h ff_layout_no_read_on_rw(struct pnfs_layout_segment *lseg) lseg 180 fs/nfs/flexfilelayout/flexfilelayout.h return FF_LAYOUT_LSEG(lseg)->flags & FF_FLAGS_NO_READ_IO; lseg 198 fs/nfs/flexfilelayout/flexfilelayout.h void ff_layout_send_layouterror(struct pnfs_layout_segment *lseg); lseg 212 fs/nfs/flexfilelayout/flexfilelayout.h nfs4_ff_layout_prepare_ds(struct pnfs_layout_segment *lseg, lseg 223 fs/nfs/flexfilelayout/flexfilelayout.h bool ff_layout_avoid_mds_available_ds(struct pnfs_layout_segment *lseg); lseg 224 fs/nfs/flexfilelayout/flexfilelayout.h bool ff_layout_avoid_read_on_rw(struct pnfs_layout_segment *lseg); lseg 24 fs/nfs/flexfilelayout/flexfilelayoutdev.c static bool ff_layout_has_available_ds(struct pnfs_layout_segment *lseg); lseg 367 fs/nfs/flexfilelayout/flexfilelayoutdev.c nfs4_ff_layout_prepare_ds(struct pnfs_layout_segment *lseg, lseg 372 fs/nfs/flexfilelayout/flexfilelayoutdev.c struct inode *ino = lseg->pls_layout->plh_inode; lseg 377 fs/nfs/flexfilelayout/flexfilelayoutdev.c if (!ff_layout_init_mirror_ds(lseg->pls_layout, mirror)) lseg 406 fs/nfs/flexfilelayout/flexfilelayoutdev.c ff_layout_track_ds_error(FF_LAYOUT_FROM_HDR(lseg->pls_layout), lseg 407 fs/nfs/flexfilelayout/flexfilelayoutdev.c mirror, lseg->pls_range.offset, lseg 408 fs/nfs/flexfilelayout/flexfilelayoutdev.c lseg->pls_range.length, NFS4ERR_NXIO, lseg 410 fs/nfs/flexfilelayout/flexfilelayoutdev.c ff_layout_send_layouterror(lseg); lseg 411 fs/nfs/flexfilelayout/flexfilelayoutdev.c if (fail_return || !ff_layout_has_available_ds(lseg)) lseg 412 fs/nfs/flexfilelayout/flexfilelayoutdev.c pnfs_error_mark_layout_for_return(ino, lseg); lseg 550 fs/nfs/flexfilelayout/flexfilelayoutdev.c static bool ff_read_layout_has_available_ds(struct pnfs_layout_segment *lseg) lseg 556 fs/nfs/flexfilelayout/flexfilelayoutdev.c for (idx = 0; idx < FF_LAYOUT_MIRROR_COUNT(lseg); idx++) { lseg 557 fs/nfs/flexfilelayout/flexfilelayoutdev.c mirror = FF_LAYOUT_COMP(lseg, idx); lseg 572 fs/nfs/flexfilelayout/flexfilelayoutdev.c static bool ff_rw_layout_has_available_ds(struct pnfs_layout_segment *lseg) lseg 578 fs/nfs/flexfilelayout/flexfilelayoutdev.c for (idx = 0; idx < FF_LAYOUT_MIRROR_COUNT(lseg); idx++) { lseg 579 fs/nfs/flexfilelayout/flexfilelayoutdev.c mirror = FF_LAYOUT_COMP(lseg, idx); lseg 589 fs/nfs/flexfilelayout/flexfilelayoutdev.c return FF_LAYOUT_MIRROR_COUNT(lseg) != 0; lseg 592 fs/nfs/flexfilelayout/flexfilelayoutdev.c static bool ff_layout_has_available_ds(struct pnfs_layout_segment *lseg) lseg 594 fs/nfs/flexfilelayout/flexfilelayoutdev.c if (lseg->pls_range.iomode == IOMODE_READ) lseg 595 fs/nfs/flexfilelayout/flexfilelayoutdev.c return ff_read_layout_has_available_ds(lseg); lseg 597 fs/nfs/flexfilelayout/flexfilelayoutdev.c return ff_rw_layout_has_available_ds(lseg); lseg 600 fs/nfs/flexfilelayout/flexfilelayoutdev.c bool ff_layout_avoid_mds_available_ds(struct pnfs_layout_segment *lseg) lseg 602 fs/nfs/flexfilelayout/flexfilelayoutdev.c return ff_layout_no_fallback_to_mds(lseg) || lseg 603 fs/nfs/flexfilelayout/flexfilelayoutdev.c ff_layout_has_available_ds(lseg); lseg 606 fs/nfs/flexfilelayout/flexfilelayoutdev.c bool ff_layout_avoid_read_on_rw(struct pnfs_layout_segment *lseg) lseg 608 fs/nfs/flexfilelayout/flexfilelayoutdev.c return lseg->pls_range.iomode == IOMODE_RW && lseg 609 fs/nfs/flexfilelayout/flexfilelayoutdev.c ff_layout_no_read_on_rw(lseg); lseg 480 fs/nfs/internal.h struct pnfs_layout_segment *lseg, lseg 488 fs/nfs/internal.h struct pnfs_layout_segment *lseg, lseg 496 fs/nfs/internal.h struct pnfs_layout_segment *lseg, lseg 23 fs/nfs/nfs42.h int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg, lseg 673 fs/nfs/nfs42proc.c nfs42_alloc_layouterror_data(struct pnfs_layout_segment *lseg, gfp_t gfp_flags) lseg 676 fs/nfs/nfs42proc.c struct inode *inode = lseg->pls_layout->plh_inode; lseg 682 fs/nfs/nfs42proc.c data->lseg = pnfs_get_lseg(lseg); lseg 683 fs/nfs/nfs42proc.c if (data->lseg) lseg 695 fs/nfs/nfs42proc.c pnfs_put_lseg(data->lseg); lseg 706 fs/nfs/nfs42proc.c struct pnfs_layout_hdr *lo = data->lseg->pls_layout; lseg 728 fs/nfs/nfs42proc.c struct pnfs_layout_hdr *lo = data->lseg->pls_layout; lseg 795 fs/nfs/nfs42proc.c int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg, lseg 798 fs/nfs/nfs42proc.c struct inode *inode = lseg->pls_layout->plh_inode; lseg 815 fs/nfs/nfs42proc.c data = nfs42_alloc_layouterror_data(lseg, GFP_NOFS); lseg 9148 fs/nfs/nfs4proc.c struct pnfs_layout_segment *lseg = NULL; lseg 9176 fs/nfs/nfs4proc.c lseg = pnfs_layout_process(lgp); lseg 9188 fs/nfs/nfs4proc.c return lseg; lseg 1800 fs/nfs/nfs4trace.h struct pnfs_layout_segment *lseg, lseg 1803 fs/nfs/nfs4trace.h TP_ARGS(inode, pos, count, iomode, lo, lseg, reason), lseg 1813 fs/nfs/nfs4trace.h __field(long, lseg) lseg 1833 fs/nfs/nfs4trace.h __entry->lseg = (long)lseg; lseg 1846 fs/nfs/nfs4trace.h __entry->lseg, lseg 1857 fs/nfs/nfs4trace.h struct pnfs_layout_segment *lseg lseg 1859 fs/nfs/nfs4trace.h TP_ARGS(inode, pos, count, iomode, lo, lseg), lseg 1869 fs/nfs/nfs4trace.h __field(long, lseg) lseg 1887 fs/nfs/nfs4trace.h __entry->lseg = (long)lseg; lseg 1900 fs/nfs/nfs4trace.h __entry->lseg lseg 1911 fs/nfs/nfs4trace.h struct pnfs_layout_segment *lseg \ lseg 1913 fs/nfs/nfs4trace.h TP_ARGS(inode, pos, count, iomode, lo, lseg)) lseg 62 fs/nfs/pnfs.c static bool pnfs_lseg_dec_and_remove_zero(struct pnfs_layout_segment *lseg, lseg 329 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg; lseg 333 fs/nfs/pnfs.c list_for_each_entry(lseg, &lo->plh_segs, pls_list) { lseg 334 fs/nfs/pnfs.c if (!test_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags)) lseg 336 fs/nfs/pnfs.c pnfs_set_plh_return_info(lo, lseg->pls_range.iomode, 0); lseg 350 fs/nfs/pnfs.c pnfs_clear_lseg_state(struct pnfs_layout_segment *lseg, lseg 353 fs/nfs/pnfs.c clear_bit(NFS_LSEG_ROC, &lseg->pls_flags); lseg 354 fs/nfs/pnfs.c clear_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags); lseg 355 fs/nfs/pnfs.c if (test_and_clear_bit(NFS_LSEG_VALID, &lseg->pls_flags)) lseg 356 fs/nfs/pnfs.c pnfs_lseg_dec_and_remove_zero(lseg, free_me); lseg 357 fs/nfs/pnfs.c if (test_and_clear_bit(NFS_LSEG_LAYOUTCOMMIT, &lseg->pls_flags)) lseg 358 fs/nfs/pnfs.c pnfs_lseg_dec_and_remove_zero(lseg, free_me); lseg 419 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, *next; lseg 422 fs/nfs/pnfs.c list_for_each_entry_safe(lseg, next, &lo->plh_segs, pls_list) lseg 423 fs/nfs/pnfs.c pnfs_clear_lseg_state(lseg, lseg_list); lseg 493 fs/nfs/pnfs.c pnfs_init_lseg(struct pnfs_layout_hdr *lo, struct pnfs_layout_segment *lseg, lseg 497 fs/nfs/pnfs.c INIT_LIST_HEAD(&lseg->pls_list); lseg 498 fs/nfs/pnfs.c INIT_LIST_HEAD(&lseg->pls_lc_list); lseg 499 fs/nfs/pnfs.c refcount_set(&lseg->pls_refcount, 1); lseg 500 fs/nfs/pnfs.c set_bit(NFS_LSEG_VALID, &lseg->pls_flags); lseg 501 fs/nfs/pnfs.c lseg->pls_layout = lo; lseg 502 fs/nfs/pnfs.c lseg->pls_range = *range; lseg 503 fs/nfs/pnfs.c lseg->pls_seq = be32_to_cpu(stateid->seqid); lseg 506 fs/nfs/pnfs.c static void pnfs_free_lseg(struct pnfs_layout_segment *lseg) lseg 508 fs/nfs/pnfs.c if (lseg != NULL) { lseg 509 fs/nfs/pnfs.c struct inode *inode = lseg->pls_layout->plh_inode; lseg 510 fs/nfs/pnfs.c NFS_SERVER(inode)->pnfs_curr_ld->free_lseg(lseg); lseg 516 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg) lseg 518 fs/nfs/pnfs.c WARN_ON(test_bit(NFS_LSEG_VALID, &lseg->pls_flags)); lseg 519 fs/nfs/pnfs.c list_del_init(&lseg->pls_list); lseg 522 fs/nfs/pnfs.c if (test_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags)) lseg 535 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg) lseg 537 fs/nfs/pnfs.c if (test_and_clear_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags) && lseg 539 fs/nfs/pnfs.c pnfs_set_plh_return_info(lo, lseg->pls_range.iomode, 0); lseg 540 fs/nfs/pnfs.c list_move_tail(&lseg->pls_list, &lo->plh_return_segs); lseg 547 fs/nfs/pnfs.c pnfs_put_lseg(struct pnfs_layout_segment *lseg) lseg 552 fs/nfs/pnfs.c if (!lseg) lseg 555 fs/nfs/pnfs.c dprintk("%s: lseg %p ref %d valid %d\n", __func__, lseg, lseg 556 fs/nfs/pnfs.c refcount_read(&lseg->pls_refcount), lseg 557 fs/nfs/pnfs.c test_bit(NFS_LSEG_VALID, &lseg->pls_flags)); lseg 559 fs/nfs/pnfs.c lo = lseg->pls_layout; lseg 562 fs/nfs/pnfs.c if (refcount_dec_and_lock(&lseg->pls_refcount, &inode->i_lock)) { lseg 563 fs/nfs/pnfs.c if (test_bit(NFS_LSEG_VALID, &lseg->pls_flags)) { lseg 568 fs/nfs/pnfs.c pnfs_layout_remove_lseg(lo, lseg); lseg 569 fs/nfs/pnfs.c if (pnfs_cache_lseg_for_layoutreturn(lo, lseg)) lseg 570 fs/nfs/pnfs.c lseg = NULL; lseg 572 fs/nfs/pnfs.c pnfs_free_lseg(lseg); lseg 597 fs/nfs/pnfs.c static bool pnfs_lseg_dec_and_remove_zero(struct pnfs_layout_segment *lseg, lseg 600 fs/nfs/pnfs.c if (!refcount_dec_and_test(&lseg->pls_refcount)) lseg 602 fs/nfs/pnfs.c pnfs_layout_remove_lseg(lseg->pls_layout, lseg); lseg 603 fs/nfs/pnfs.c list_add(&lseg->pls_list, tmp_list); lseg 608 fs/nfs/pnfs.c static int mark_lseg_invalid(struct pnfs_layout_segment *lseg, lseg 613 fs/nfs/pnfs.c if (test_and_clear_bit(NFS_LSEG_VALID, &lseg->pls_flags)) { lseg 618 fs/nfs/pnfs.c dprintk("%s: lseg %p ref %d\n", __func__, lseg, lseg 619 fs/nfs/pnfs.c refcount_read(&lseg->pls_refcount)); lseg 620 fs/nfs/pnfs.c if (pnfs_lseg_dec_and_remove_zero(lseg, tmp_list)) lseg 645 fs/nfs/pnfs.c pnfs_match_lseg_recall(const struct pnfs_layout_segment *lseg, lseg 649 fs/nfs/pnfs.c if (seq != 0 && pnfs_seqid_is_newer(lseg->pls_seq, seq)) lseg 653 fs/nfs/pnfs.c return pnfs_should_free_range(&lseg->pls_range, recall_range); lseg 677 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, *next; lseg 684 fs/nfs/pnfs.c list_for_each_entry_safe(lseg, next, &lo->plh_segs, pls_list) lseg 685 fs/nfs/pnfs.c if (pnfs_match_lseg_recall(lseg, recall_range, seq)) { lseg 688 fs/nfs/pnfs.c lseg, lseg->pls_range.iomode, lseg->pls_seq, lseg 689 fs/nfs/pnfs.c lseg->pls_range.offset, lseg->pls_range.length); lseg 690 fs/nfs/pnfs.c if (!mark_lseg_invalid(lseg, tmp_list)) lseg 703 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, *next; lseg 705 fs/nfs/pnfs.c list_for_each_entry_safe(lseg, next, &lo->plh_return_segs, pls_list) { lseg 706 fs/nfs/pnfs.c if (pnfs_match_lseg_recall(lseg, range, seq)) lseg 707 fs/nfs/pnfs.c list_move_tail(&lseg->pls_list, free_me); lseg 715 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, *tmp; lseg 720 fs/nfs/pnfs.c list_for_each_entry_safe(lseg, tmp, free_me, pls_list) { lseg 721 fs/nfs/pnfs.c list_del(&lseg->pls_list); lseg 722 fs/nfs/pnfs.c pnfs_free_lseg(lseg); lseg 1084 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, *tmp; lseg 1088 fs/nfs/pnfs.c list_for_each_entry_safe(lseg, tmp, &nfsi->layout->plh_segs, pls_list) { lseg 1089 fs/nfs/pnfs.c if (!test_and_clear_bit(NFS_LSEG_LAYOUTCOMMIT, &lseg->pls_flags)) lseg 1091 fs/nfs/pnfs.c pnfs_lseg_dec_and_remove_zero(lseg, head); lseg 1356 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, *next; lseg 1402 fs/nfs/pnfs.c list_for_each_entry_safe(lseg, next, &lo->plh_segs, pls_list) { lseg 1403 fs/nfs/pnfs.c if (skip_read && lseg->pls_range.iomode == IOMODE_READ) lseg 1406 fs/nfs/pnfs.c if (!test_and_clear_bit(NFS_LSEG_ROC, &lseg->pls_flags)) lseg 1412 fs/nfs/pnfs.c set_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags); lseg 1413 fs/nfs/pnfs.c if (!mark_lseg_invalid(lseg, &lo->plh_return_segs)) lseg 1415 fs/nfs/pnfs.c pnfs_set_plh_return_info(lo, lseg->pls_range.iomode, 0); lseg 1577 fs/nfs/pnfs.c pnfs_lseg_no_merge(struct pnfs_layout_segment *lseg, lseg 1585 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, lseg 1599 fs/nfs/pnfs.c if (do_merge(lseg, lp)) { lseg 1603 fs/nfs/pnfs.c if (is_after(&lseg->pls_range, &lp->pls_range)) lseg 1605 fs/nfs/pnfs.c list_add_tail(&lseg->pls_list, &lp->pls_list); lseg 1609 fs/nfs/pnfs.c __func__, lseg, lseg->pls_range.iomode, lseg 1610 fs/nfs/pnfs.c lseg->pls_range.offset, lseg->pls_range.length, lseg 1615 fs/nfs/pnfs.c list_add_tail(&lseg->pls_list, &lo->plh_segs); lseg 1618 fs/nfs/pnfs.c __func__, lseg, lseg->pls_range.iomode, lseg 1619 fs/nfs/pnfs.c lseg->pls_range.offset, lseg->pls_range.length); lseg 1629 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, lseg 1636 fs/nfs/pnfs.c ld->add_lseg(lo, lseg, free_me); lseg 1638 fs/nfs/pnfs.c pnfs_generic_layout_insert_lseg(lo, lseg, lseg 1734 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, *ret = NULL; lseg 1738 fs/nfs/pnfs.c list_for_each_entry(lseg, &lo->plh_segs, pls_list) { lseg 1739 fs/nfs/pnfs.c if (test_bit(NFS_LSEG_VALID, &lseg->pls_flags) && lseg 1740 fs/nfs/pnfs.c pnfs_lseg_range_match(&lseg->pls_range, range, lseg 1742 fs/nfs/pnfs.c ret = pnfs_get_lseg(lseg); lseg 1897 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg = NULL; lseg 1905 fs/nfs/pnfs.c trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, lseg 1911 fs/nfs/pnfs.c trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, lseg 1917 fs/nfs/pnfs.c lseg = ERR_PTR(nfs4_client_recover_expired_lease(clp)); lseg 1918 fs/nfs/pnfs.c if (IS_ERR(lseg)) lseg 1925 fs/nfs/pnfs.c trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, lseg 1932 fs/nfs/pnfs.c trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, lseg 1940 fs/nfs/pnfs.c trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, lseg 1952 fs/nfs/pnfs.c lseg = ERR_PTR(wait_var_event_killable(&lo->plh_outstanding, lseg 1954 fs/nfs/pnfs.c if (IS_ERR(lseg)) lseg 1960 fs/nfs/pnfs.c lseg = pnfs_find_lseg(lo, &arg, strict_iomode); lseg 1961 fs/nfs/pnfs.c if (lseg) { lseg 1962 fs/nfs/pnfs.c trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, lseg 1982 fs/nfs/pnfs.c lseg = ERR_PTR(wait_on_bit(&lo->plh_flags, lseg 1985 fs/nfs/pnfs.c if (IS_ERR(lseg)) lseg 1997 fs/nfs/pnfs.c lseg = ERR_PTR(status); lseg 1999 fs/nfs/pnfs.c iomode, lo, lseg, lseg 2020 fs/nfs/pnfs.c lseg = ERR_PTR(pnfs_prepare_to_retry_layoutget(lo)); lseg 2021 fs/nfs/pnfs.c if (!IS_ERR(lseg)) { lseg 2027 fs/nfs/pnfs.c lseg, PNFS_UPDATE_LAYOUT_RETRY); lseg 2030 fs/nfs/pnfs.c trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, lseg 2036 fs/nfs/pnfs.c trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, lseg 2061 fs/nfs/pnfs.c lseg = nfs4_proc_layoutget(lgp, &timeout); lseg 2062 fs/nfs/pnfs.c trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, lseg 2065 fs/nfs/pnfs.c if (IS_ERR(lseg)) { lseg 2066 fs/nfs/pnfs.c switch(PTR_ERR(lseg)) { lseg 2069 fs/nfs/pnfs.c lseg = NULL; lseg 2075 fs/nfs/pnfs.c if (!nfs_error_is_fatal(PTR_ERR(lseg))) { lseg 2077 fs/nfs/pnfs.c lseg = NULL; lseg 2081 fs/nfs/pnfs.c if (lseg) { lseg 2085 fs/nfs/pnfs.c iomode, lo, lseg, PNFS_UPDATE_LAYOUT_RETRY); lseg 2096 fs/nfs/pnfs.c trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, lseg 2104 fs/nfs/pnfs.c IS_ERR_OR_NULL(lseg) ? "not found" : "found", lseg 2108 fs/nfs/pnfs.c return lseg; lseg 2239 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg; lseg 2276 fs/nfs/pnfs.c lseg = pnfs_layout_process(lgp); lseg 2277 fs/nfs/pnfs.c if (!IS_ERR(lseg)) { lseg 2280 fs/nfs/pnfs.c pnfs_put_lseg(lseg); lseg 2302 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg; lseg 2310 fs/nfs/pnfs.c lseg = NFS_SERVER(ino)->pnfs_curr_ld->alloc_lseg(lo, res, lgp->gfp_flags); lseg 2311 fs/nfs/pnfs.c if (IS_ERR_OR_NULL(lseg)) { lseg 2312 fs/nfs/pnfs.c if (!lseg) lseg 2313 fs/nfs/pnfs.c lseg = ERR_PTR(-ENOMEM); lseg 2316 fs/nfs/pnfs.c __func__, PTR_ERR(lseg)); lseg 2317 fs/nfs/pnfs.c return lseg; lseg 2320 fs/nfs/pnfs.c pnfs_init_lseg(lo, lseg, &res->range, &res->stateid); lseg 2347 fs/nfs/pnfs.c pnfs_get_lseg(lseg); lseg 2348 fs/nfs/pnfs.c pnfs_layout_insert_lseg(lo, lseg, &free_me); lseg 2352 fs/nfs/pnfs.c set_bit(NFS_LSEG_ROC, &lseg->pls_flags); lseg 2356 fs/nfs/pnfs.c return lseg; lseg 2360 fs/nfs/pnfs.c lseg->pls_layout = lo; lseg 2361 fs/nfs/pnfs.c NFS_SERVER(ino)->pnfs_curr_ld->free_lseg(lseg); lseg 2366 fs/nfs/pnfs.c mark_lseg_invalid_or_return(struct pnfs_layout_segment *lseg, lseg 2369 fs/nfs/pnfs.c if (!mark_lseg_invalid(lseg, tmp_list)) lseg 2371 fs/nfs/pnfs.c pnfs_cache_lseg_for_layoutreturn(lseg->pls_layout, lseg); lseg 2397 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, *next; lseg 2404 fs/nfs/pnfs.c list_for_each_entry_safe(lseg, next, &lo->plh_segs, pls_list) lseg 2405 fs/nfs/pnfs.c if (pnfs_match_lseg_recall(lseg, return_range, seq)) { lseg 2408 fs/nfs/pnfs.c lseg, lseg->pls_range.iomode, lseg 2409 fs/nfs/pnfs.c lseg->pls_range.offset, lseg 2410 fs/nfs/pnfs.c lseg->pls_range.length); lseg 2411 fs/nfs/pnfs.c if (mark_lseg_invalid_or_return(lseg, tmp_list)) lseg 2414 fs/nfs/pnfs.c set_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags); lseg 2431 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg) lseg 2435 fs/nfs/pnfs.c .iomode = lseg->pls_range.iomode, lseg 2636 fs/nfs/pnfs.c pnfs_set_layoutcommit(hdr->inode, hdr->lseg, lseg 2664 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, lseg 2687 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg = desc->pg_lseg; lseg 2690 fs/nfs/pnfs.c trypnfs = pnfs_try_to_write_data(hdr, call_ops, lseg, how); lseg 2709 fs/nfs/pnfs.c pnfs_put_lseg(hdr->lseg); lseg 2726 fs/nfs/pnfs.c hdr->lseg = pnfs_get_lseg(desc->pg_lseg); lseg 2790 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg) lseg 2815 fs/nfs/pnfs.c pnfs_put_lseg(hdr->lseg); lseg 2816 fs/nfs/pnfs.c hdr->lseg = NULL; lseg 2829 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg = desc->pg_lseg; lseg 2832 fs/nfs/pnfs.c trypnfs = pnfs_try_to_read_data(hdr, call_ops, lseg); lseg 2851 fs/nfs/pnfs.c pnfs_put_lseg(hdr->lseg); lseg 2867 fs/nfs/pnfs.c hdr->lseg = pnfs_get_lseg(desc->pg_lseg); lseg 2889 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg; lseg 2891 fs/nfs/pnfs.c list_for_each_entry(lseg, &NFS_I(inode)->layout->plh_segs, pls_list) { lseg 2892 fs/nfs/pnfs.c if (lseg->pls_range.iomode == IOMODE_RW && lseg 2893 fs/nfs/pnfs.c test_and_clear_bit(NFS_LSEG_LAYOUTCOMMIT, &lseg->pls_flags)) lseg 2894 fs/nfs/pnfs.c list_add(&lseg->pls_lc_list, listp); lseg 2900 fs/nfs/pnfs.c struct pnfs_layout_segment *lseg, *tmp; lseg 2903 fs/nfs/pnfs.c list_for_each_entry_safe(lseg, tmp, listp, pls_lc_list) { lseg 2904 fs/nfs/pnfs.c list_del_init(&lseg->pls_lc_list); lseg 2905 fs/nfs/pnfs.c pnfs_put_lseg(lseg); lseg 2911 fs/nfs/pnfs.c void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg) lseg 2913 fs/nfs/pnfs.c pnfs_layout_io_set_failed(lseg->pls_layout, lseg->pls_range.iomode); lseg 2918 fs/nfs/pnfs.c pnfs_set_layoutcommit(struct inode *inode, struct pnfs_layout_segment *lseg, lseg 2932 fs/nfs/pnfs.c if (!test_and_set_bit(NFS_LSEG_LAYOUTCOMMIT, &lseg->pls_flags)) { lseg 2934 fs/nfs/pnfs.c pnfs_get_lseg(lseg); lseg 2938 fs/nfs/pnfs.c __func__, lseg, nfsi->layout->plh_lwb); lseg 138 fs/nfs/pnfs.h void (*free_lseg) (struct pnfs_layout_segment *lseg); lseg 140 fs/nfs/pnfs.h struct pnfs_layout_segment *lseg, lseg 152 fs/nfs/pnfs.h struct pnfs_layout_segment *lseg, lseg 240 fs/nfs/pnfs.h void pnfs_put_lseg(struct pnfs_layout_segment *lseg); lseg 253 fs/nfs/pnfs.h void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg); lseg 316 fs/nfs/pnfs.h struct pnfs_layout_segment *lseg, lseg 319 fs/nfs/pnfs.h bool (*do_merge)(struct pnfs_layout_segment *lseg, lseg 328 fs/nfs/pnfs.h struct pnfs_layout_segment *lseg); lseg 389 fs/nfs/pnfs.h struct pnfs_layout_segment *lseg, lseg 416 fs/nfs/pnfs.h pnfs_get_lseg(struct pnfs_layout_segment *lseg) lseg 418 fs/nfs/pnfs.h if (lseg) { lseg 419 fs/nfs/pnfs.h refcount_inc(&lseg->pls_refcount); lseg 422 fs/nfs/pnfs.h return lseg; lseg 426 fs/nfs/pnfs.h pnfs_is_valid_lseg(struct pnfs_layout_segment *lseg) lseg 428 fs/nfs/pnfs.h return test_bit(NFS_LSEG_VALID, &lseg->pls_flags) != 0; lseg 463 fs/nfs/pnfs.h pnfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, lseg 469 fs/nfs/pnfs.h if (lseg == NULL || ld->mark_request_commit == NULL) lseg 471 fs/nfs/pnfs.h ld->mark_request_commit(req, lseg, cinfo, ds_commit_idx); lseg 620 fs/nfs/pnfs.h pnfs_lseg_request_intersecting(struct pnfs_layout_segment *lseg, struct nfs_page *req) lseg 622 fs/nfs/pnfs.h u64 seg_last = pnfs_end_offset(lseg->pls_range.offset, lseg->pls_range.length); lseg 625 fs/nfs/pnfs.h return pnfs_is_range_intersecting(lseg->pls_range.offset, seg_last, lseg 655 fs/nfs/pnfs.h pnfs_get_lseg(struct pnfs_layout_segment *lseg) lseg 660 fs/nfs/pnfs.h static inline void pnfs_put_lseg(struct pnfs_layout_segment *lseg) lseg 754 fs/nfs/pnfs.h pnfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, lseg 56 fs/nfs/pnfs_nfs.c pnfs_put_lseg(data->lseg); lseg 227 fs/nfs/pnfs_nfs.c data->lseg = bucket->clseg; lseg 305 fs/nfs/pnfs_nfs.c nfs_init_commit(data, &pages, data->lseg, cinfo); lseg 928 fs/nfs/pnfs_nfs.c struct pnfs_layout_segment *lseg, lseg 939 fs/nfs/pnfs_nfs.c if (!pnfs_is_valid_lseg(lseg)) { lseg 951 fs/nfs/pnfs_nfs.c buckets[ds_commit_idx].wlseg = pnfs_get_lseg(lseg); lseg 948 fs/nfs/write.c nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, lseg 951 fs/nfs/write.c if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) lseg 986 fs/nfs/write.c return hdr->lseg == NULL; lseg 1018 fs/nfs/write.c nfs_mark_request_commit(req, hdr->lseg, &cinfo, lseg 1744 fs/nfs/write.c struct pnfs_layout_segment *lseg, lseg 1758 fs/nfs/write.c data->lseg = lseg; /* reference transferred */ lseg 1760 fs/nfs/write.c if (lseg) lseg 1778 fs/nfs/write.c struct pnfs_layout_segment *lseg, lseg 1787 fs/nfs/write.c nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); lseg 418 include/linux/nfs_xdr.h struct pnfs_layout_segment *lseg; lseg 1514 include/linux/nfs_xdr.h struct pnfs_layout_segment *lseg; lseg 1578 include/linux/nfs_xdr.h struct pnfs_layout_segment *lseg;