| /linux-6.15/fs/nfs/ |
| H A D | pnfs.c | 613 if (!lseg) in pnfs_put_lseg() 659 pnfs_layout_remove_lseg(lseg->pls_layout, lseg); in pnfs_lseg_dec_and_remove_zero() 737 lseg, lseg->pls_range.iomode, lseg->pls_seq, in pnfs_mark_matching_lsegs_invalid() 738 lseg->pls_range.offset, lseg->pls_range.length); in pnfs_mark_matching_lsegs_invalid() 1824 __func__, lseg, lseg->pls_range.iomode, in pnfs_generic_layout_insert_lseg() 1825 lseg->pls_range.offset, lseg->pls_range.length, in pnfs_generic_layout_insert_lseg() 1833 __func__, lseg, lseg->pls_range.iomode, in pnfs_generic_layout_insert_lseg() 1834 lseg->pls_range.offset, lseg->pls_range.length); in pnfs_generic_layout_insert_lseg() 2203 lseg, in pnfs_update_layout() 2213 if (lseg) { in pnfs_update_layout() [all …]
|
| H A D | pnfs.h | 148 struct pnfs_layout_segment *lseg, 193 struct pnfs_layout_segment *lseg, 342 struct pnfs_layout_segment *lseg, 400 struct pnfs_layout_segment *lseg); 430 struct pnfs_layout_segment *lseg, 459 if (lseg) { in pnfs_get_lseg() 460 refcount_inc(&lseg->pls_refcount); in pnfs_get_lseg() 463 return lseg; in pnfs_get_lseg() 684 u64 seg_last = pnfs_end_offset(lseg->pls_range.offset, lseg->pls_range.length); in pnfs_lseg_request_intersecting() 692 struct pnfs_layout_segment *lseg) in pnfs_lseg_cancel_io() argument [all …]
|
| H A D | pnfs_nfs.c | 68 bucket->lseg = NULL; in pnfs_free_bucket_lseg() 109 p->lseg = NULL; in pnfs_alloc_commit_array() 113 b->lseg = NULL; in pnfs_alloc_commit_array() 134 if (array->lseg == lseg) in pnfs_find_commit_array_by_lseg() 150 new->lseg = lseg; in pnfs_add_commit_array() 211 array->lseg = NULL; in pnfs_remove_and_free_commit_array() 367 if (!lseg) in pnfs_bucket_get_committing() 368 lseg = pnfs_get_lseg(bucket->lseg); in pnfs_bucket_get_committing() 369 return lseg; in pnfs_bucket_get_committing() 1178 if (!bucket->lseg) in pnfs_layout_mark_request_commit() [all …]
|
| H A D | nfs4trace.h | 1500 (lseg ? nfs_stateid_hash(&lseg->pls_layout->plh_stateid) : 0) 1534 const struct pnfs_layout_segment *lseg = hdr->lseg; 1547 __entry->layoutstateid_seq = lseg ? lseg->pls_seq : 0; 1608 const struct pnfs_layout_segment *lseg = hdr->lseg; 1621 __entry->layoutstateid_seq = lseg ? lseg->pls_seq : 0; 1678 const struct pnfs_layout_segment *lseg = data->lseg; 1686 __entry->layoutstateid_seq = lseg ? lseg->pls_seq : 0; 1859 __entry->lseg = (long)lseg; 1872 __entry->lseg, 1913 __entry->lseg = (long)lseg; [all …]
|
| H A D | nfs42proc.c | 1034 nfs42_alloc_layouterror_data(struct pnfs_layout_segment *lseg, gfp_t gfp_flags) in nfs42_alloc_layouterror_data() argument 1037 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_alloc_layouterror_data() 1043 data->lseg = pnfs_get_lseg(lseg); in nfs42_alloc_layouterror_data() 1044 if (data->lseg) in nfs42_alloc_layouterror_data() 1056 pnfs_put_lseg(data->lseg); in nfs42_free_layouterror_data() 1067 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_prepare() 1089 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_done() 1159 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg, in nfs42_proc_layouterror() argument 1162 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_proc_layouterror() 1179 data = nfs42_alloc_layouterror_data(lseg, nfs_io_gfp_mask()); in nfs42_proc_layouterror()
|
| H A D | nfs42.h | 28 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg,
|
| H A D | write.c | 923 nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, in nfs_mark_request_commit() argument 926 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit() 962 return hdr->lseg == NULL; in nfs_write_need_commit() 995 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion() 1740 struct pnfs_layout_segment *lseg, in nfs_init_commit() argument 1759 data->lseg = lseg; /* reference transferred */ in nfs_init_commit() 1761 if (lseg) in nfs_init_commit() 1780 struct pnfs_layout_segment *lseg, in nfs_retry_commit() argument 1789 nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); in nfs_retry_commit()
|
| H A D | internal.h | 586 struct pnfs_layout_segment *lseg, 594 struct pnfs_layout_segment *lseg, 602 struct pnfs_layout_segment *lseg,
|
| H A D | direct.c | 796 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
|
| H A D | nfs4proc.c | 9990 struct pnfs_layout_segment *lseg = NULL; in nfs4_proc_layoutget() local 10012 lseg = pnfs_layout_process(lgp); in nfs4_proc_layoutget() 10024 return lseg; in nfs4_proc_layoutget()
|
| /linux-6.15/fs/nfs/filelayout/ |
| H A D | filelayout.c | 190 pnfs_set_lo_fail(lseg); in filelayout_async_handle_error() 350 data->lseg); in filelayout_commit_done_cb() 452 struct pnfs_layout_segment *lseg = hdr->lseg; in filelayout_read_pagelist() local 499 struct pnfs_layout_segment *lseg = hdr->lseg; in filelayout_write_pagelist() local 844 if (IS_ERR(lseg)) { in fl_pnfs_update_layout() 847 lseg = NULL; in fl_pnfs_update_layout() 849 } else if (!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() [all …]
|
| H A D | filelayout.h | 82 FILELAYOUT_LSEG(struct pnfs_layout_segment *lseg) in FILELAYOUT_LSEG() argument 84 return container_of(lseg, in FILELAYOUT_LSEG() 90 FILELAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg) in FILELAYOUT_DEVID_NODE() argument 92 return &FILELAYOUT_LSEG(lseg)->dsaddr->id_node; in FILELAYOUT_DEVID_NODE() 105 nfs4_fl_select_ds_fh(struct pnfs_layout_segment *lseg, u32 j); 107 u32 nfs4_fl_calc_j_index(struct pnfs_layout_segment *lseg, loff_t offset); 108 u32 nfs4_fl_calc_ds_index(struct pnfs_layout_segment *lseg, u32 j); 109 struct nfs4_pnfs_ds *nfs4_fl_prepare_ds(struct pnfs_layout_segment *lseg,
|
| H A D | filelayoutdev.c | 224 nfs4_fl_calc_j_index(struct pnfs_layout_segment *lseg, loff_t offset) in nfs4_fl_calc_j_index() argument 226 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in nfs4_fl_calc_j_index() 236 nfs4_fl_calc_ds_index(struct pnfs_layout_segment *lseg, u32 j) in nfs4_fl_calc_ds_index() argument 238 return FILELAYOUT_LSEG(lseg)->dsaddr->stripe_indices[j]; in nfs4_fl_calc_ds_index() 242 nfs4_fl_select_ds_fh(struct pnfs_layout_segment *lseg, u32 j) in nfs4_fl_select_ds_fh() argument 244 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in nfs4_fl_select_ds_fh() 254 i = nfs4_fl_calc_ds_index(lseg, j); in nfs4_fl_select_ds_fh() 262 nfs4_fl_prepare_ds(struct pnfs_layout_segment *lseg, u32 ds_idx) in nfs4_fl_prepare_ds() argument 264 struct nfs4_file_layout_dsaddr *dsaddr = FILELAYOUT_LSEG(lseg)->dsaddr; in nfs4_fl_prepare_ds() 266 struct nfs4_deviceid_node *devid = FILELAYOUT_DEVID_NODE(lseg); in nfs4_fl_prepare_ds() [all …]
|
| /linux-6.15/fs/nfs/flexfilelayout/ |
| H A D | flexfilelayout.h | 129 FF_LAYOUT_LSEG(struct pnfs_layout_segment *lseg) in FF_LAYOUT_LSEG() argument 131 return container_of(lseg, in FF_LAYOUT_LSEG() 143 FF_LAYOUT_COMP(struct pnfs_layout_segment *lseg, u32 idx) in FF_LAYOUT_COMP() argument 145 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in FF_LAYOUT_COMP() 167 FF_LAYOUT_MIRROR_COUNT(struct pnfs_layout_segment *lseg) in FF_LAYOUT_MIRROR_COUNT() argument 169 return FF_LAYOUT_LSEG(lseg)->mirror_array_cnt; in FF_LAYOUT_MIRROR_COUNT() 173 ff_layout_no_fallback_to_mds(struct pnfs_layout_segment *lseg) in ff_layout_no_fallback_to_mds() argument 175 return FF_LAYOUT_LSEG(lseg)->flags & FF_FLAGS_NO_IO_THRU_MDS; in ff_layout_no_fallback_to_mds() 179 ff_layout_no_read_on_rw(struct pnfs_layout_segment *lseg) in ff_layout_no_read_on_rw() argument 181 return FF_LAYOUT_LSEG(lseg)->flags & FF_FLAGS_NO_READ_IO; in ff_layout_no_read_on_rw() [all …]
|
| H A D | flexfilelayout.c | 1066 hdr->lseg); in ff_layout_reset_write() 1102 hdr->lseg); in ff_layout_reset_read() 1242 if (!pnfs_is_valid_lseg(lseg)) in ff_layout_async_handle_error() 1250 lseg, idx); in ff_layout_async_handle_error() 1315 lseg); in ff_layout_io_track_ds_error() 1808 struct pnfs_layout_segment *lseg = hdr->lseg; in ff_layout_read_pagelist() local 1886 struct pnfs_layout_segment *lseg = hdr->lseg; in ff_layout_write_pagelist() local 1977 struct pnfs_layout_segment *lseg = data->lseg; in ff_layout_initiate_commit() local 1987 if (!lseg || !(pnfs_is_valid_lseg(lseg) || in ff_layout_initiate_commit() 2051 return hdr->lseg == lseg; in ff_layout_match_rw() [all …]
|
| H A D | flexfilelayoutdev.c | 415 mirror, lseg->pls_range.offset, in nfs4_ff_layout_prepare_ds() 416 lseg->pls_range.length, NFS4ERR_NXIO, in nfs4_ff_layout_prepare_ds() 418 ff_layout_send_layouterror(lseg); in nfs4_ff_layout_prepare_ds() 565 mirror = FF_LAYOUT_COMP(lseg, idx); in ff_read_layout_has_available_ds() 587 mirror = FF_LAYOUT_COMP(lseg, idx); in ff_rw_layout_has_available_ds() 597 return FF_LAYOUT_MIRROR_COUNT(lseg) != 0; in ff_rw_layout_has_available_ds() 602 if (lseg->pls_range.iomode == IOMODE_READ) in ff_layout_has_available_ds() 605 return ff_rw_layout_has_available_ds(lseg); in ff_layout_has_available_ds() 610 return ff_layout_no_fallback_to_mds(lseg) || in ff_layout_avoid_mds_available_ds() 611 ff_layout_has_available_ds(lseg); in ff_layout_avoid_mds_available_ds() [all …]
|
| /linux-6.15/Documentation/filesystems/nfs/ |
| H A D | pnfs.rst | 16 pnfs_layout_segment, usually referred to by the variable name lseg. 22 LAYOUTCOMMIT), and for each lseg held within. 26 the reference count, as the layout is kept around by the lseg that 36 the lifetime of each lseg referencing them. 54 lseg chapter 57 lseg maintains an extra reference corresponding to the NFS_LSEG_VALID 58 bit which holds it in the pnfs_layout_hdr's list. When the final lseg
|
| /linux-6.15/fs/nfs/blocklayout/ |
| H A D | blocklayout.c | 171 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_mark_devices_unavailable() 201 pnfs_set_lo_fail(header->lseg); in bl_end_io_read() 331 pnfs_set_lo_fail(header->lseg); in bl_end_io_write() 350 struct pnfs_block_layout *bl = BLK_LSEG2EXT(hdr->lseg); in bl_write_cleanup() 491 kfree(lseg); in bl_free_lseg() 676 struct pnfs_layout_segment *lseg; in bl_alloc_lseg() local 687 lseg = kzalloc(sizeof(*lseg), gfp_mask); in bl_alloc_lseg() 688 if (!lseg) in bl_alloc_lseg() 753 set_bit(NFS_LSEG_UNAVAILABLE, &lseg->pls_flags); in bl_alloc_lseg() 756 return lseg; in bl_alloc_lseg() [all …]
|
| H A D | blocklayout.h | 159 BLK_LSEG2EXT(struct pnfs_layout_segment *lseg) in BLK_LSEG2EXT() argument 161 return BLK_LO2EXT(lseg->pls_layout); in BLK_LSEG2EXT()
|
| /linux-6.15/arch/x86/kernel/ |
| H A D | module.c | 316 void *lseg = (void *)locks->sh_addr; in module_finalize() local 320 lseg, lseg + locks->sh_size, in module_finalize()
|
| /linux-6.15/include/linux/ |
| H A D | nfs_xdr.h | 425 struct pnfs_layout_segment *lseg; member 1323 struct pnfs_layout_segment *lseg; member 1330 struct pnfs_layout_segment *lseg; member 1647 struct pnfs_layout_segment *lseg; member 1714 struct pnfs_layout_segment *lseg; member
|