| /Linux-v5.4/fs/nfs/ |
| D | pnfs.c | 62 static bool pnfs_lseg_dec_and_remove_zero(struct pnfs_layout_segment *lseg, 329 struct pnfs_layout_segment *lseg; in pnfs_clear_layoutreturn_info() local 333 list_for_each_entry(lseg, &lo->plh_segs, pls_list) { in pnfs_clear_layoutreturn_info() 334 if (!test_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags)) in pnfs_clear_layoutreturn_info() 336 pnfs_set_plh_return_info(lo, lseg->pls_range.iomode, 0); in pnfs_clear_layoutreturn_info() 350 pnfs_clear_lseg_state(struct pnfs_layout_segment *lseg, in pnfs_clear_lseg_state() argument 353 clear_bit(NFS_LSEG_ROC, &lseg->pls_flags); in pnfs_clear_lseg_state() 354 clear_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags); in pnfs_clear_lseg_state() 355 if (test_and_clear_bit(NFS_LSEG_VALID, &lseg->pls_flags)) in pnfs_clear_lseg_state() 356 pnfs_lseg_dec_and_remove_zero(lseg, free_me); in pnfs_clear_lseg_state() [all …]
|
| D | pnfs.h | 138 void (*free_lseg) (struct pnfs_layout_segment *lseg); 140 struct pnfs_layout_segment *lseg, 152 struct pnfs_layout_segment *lseg, 240 void pnfs_put_lseg(struct pnfs_layout_segment *lseg); 253 void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg); 316 struct pnfs_layout_segment *lseg, 319 bool (*do_merge)(struct pnfs_layout_segment *lseg, 328 struct pnfs_layout_segment *lseg); 389 struct pnfs_layout_segment *lseg, 416 pnfs_get_lseg(struct pnfs_layout_segment *lseg) in pnfs_get_lseg() argument [all …]
|
| D | nfs42proc.c | 673 nfs42_alloc_layouterror_data(struct pnfs_layout_segment *lseg, gfp_t gfp_flags) in nfs42_alloc_layouterror_data() argument 676 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_alloc_layouterror_data() 682 data->lseg = pnfs_get_lseg(lseg); in nfs42_alloc_layouterror_data() 683 if (data->lseg) in nfs42_alloc_layouterror_data() 695 pnfs_put_lseg(data->lseg); in nfs42_free_layouterror_data() 706 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_prepare() 728 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_done() 795 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg, in nfs42_proc_layouterror() argument 798 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_proc_layouterror() 815 data = nfs42_alloc_layouterror_data(lseg, GFP_NOFS); in nfs42_proc_layouterror()
|
| D | nfs42.h | 23 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg,
|
| D | nfs4trace.h | 1799 struct pnfs_layout_segment *lseg, 1802 TP_ARGS(inode, pos, count, iomode, lo, lseg, reason), 1812 __field(long, lseg) 1832 __entry->lseg = (long)lseg; 1845 __entry->lseg, 1856 struct pnfs_layout_segment *lseg 1858 TP_ARGS(inode, pos, count, iomode, lo, lseg), 1868 __field(long, lseg) 1886 __entry->lseg = (long)lseg; 1899 __entry->lseg [all …]
|
| D | pnfs_nfs.c | 57 pnfs_put_lseg(data->lseg); in pnfs_generic_commit_release() 228 data->lseg = bucket->clseg; in pnfs_fetch_commit_bucket_list() 306 nfs_init_commit(data, &pages, data->lseg, cinfo); in pnfs_generic_commit_pagelist() 929 struct pnfs_layout_segment *lseg, in pnfs_layout_mark_request_commit() argument 940 if (!pnfs_is_valid_lseg(lseg)) { in pnfs_layout_mark_request_commit() 952 buckets[ds_commit_idx].wlseg = pnfs_get_lseg(lseg); in pnfs_layout_mark_request_commit()
|
| D | write.c | 939 nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, in nfs_mark_request_commit() argument 942 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit() 977 return hdr->lseg == NULL; in nfs_write_need_commit() 1009 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion() 1735 struct pnfs_layout_segment *lseg, in nfs_init_commit() argument 1749 data->lseg = lseg; /* reference transferred */ in nfs_init_commit() 1751 if (lseg) in nfs_init_commit() 1769 struct pnfs_layout_segment *lseg, in nfs_retry_commit() argument 1778 nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); in nfs_retry_commit()
|
| D | internal.h | 480 struct pnfs_layout_segment *lseg, 488 struct pnfs_layout_segment *lseg, 496 struct pnfs_layout_segment *lseg,
|
| D | direct.c | 795 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
|
| D | nfs4proc.c | 9099 struct pnfs_layout_segment *lseg = NULL; in nfs4_proc_layoutget() local 9127 lseg = pnfs_layout_process(lgp); in nfs4_proc_layoutget() 9139 return lseg; in nfs4_proc_layoutget()
|
| /Linux-v5.4/fs/nfs/flexfilelayout/ |
| D | flexfilelayout.h | 128 FF_LAYOUT_LSEG(struct pnfs_layout_segment *lseg) in FF_LAYOUT_LSEG() argument 130 return container_of(lseg, in FF_LAYOUT_LSEG() 142 FF_LAYOUT_COMP(struct pnfs_layout_segment *lseg, u32 idx) in FF_LAYOUT_COMP() argument 144 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in FF_LAYOUT_COMP() 152 FF_LAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg, u32 idx) in FF_LAYOUT_DEVID_NODE() argument 154 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, idx); in FF_LAYOUT_DEVID_NODE() 166 FF_LAYOUT_MIRROR_COUNT(struct pnfs_layout_segment *lseg) in FF_LAYOUT_MIRROR_COUNT() argument 168 return FF_LAYOUT_LSEG(lseg)->mirror_array_cnt; in FF_LAYOUT_MIRROR_COUNT() 172 ff_layout_no_fallback_to_mds(struct pnfs_layout_segment *lseg) in ff_layout_no_fallback_to_mds() argument 174 return FF_LAYOUT_LSEG(lseg)->flags & FF_FLAGS_NO_IO_THRU_MDS; in ff_layout_no_fallback_to_mds() [all …]
|
| D | flexfilelayout.c | 341 struct pnfs_layout_segment *lseg, in ff_layout_add_lseg() argument 344 pnfs_generic_layout_insert_lseg(lo, lseg, in ff_layout_add_lseg() 565 struct pnfs_layout_segment *lseg; in ff_layout_has_rw_segments() local 567 list_for_each_entry(lseg, &layout->plh_segs, pls_list) in ff_layout_has_rw_segments() 568 if (lseg->pls_range.iomode == IOMODE_RW) in ff_layout_has_rw_segments() 575 ff_layout_free_lseg(struct pnfs_layout_segment *lseg) in ff_layout_free_lseg() argument 577 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in ff_layout_free_lseg() 581 if (lseg->pls_range.iomode == IOMODE_RW) { in ff_layout_free_lseg() 585 ffl = FF_LAYOUT_FROM_HDR(lseg->pls_layout); in ff_layout_free_lseg() 588 if (!ff_layout_has_rw_segments(lseg->pls_layout)) { in ff_layout_free_lseg() [all …]
|
| D | flexfilelayoutdev.c | 24 static bool ff_layout_has_available_ds(struct pnfs_layout_segment *lseg); 367 nfs4_ff_layout_prepare_ds(struct pnfs_layout_segment *lseg, in nfs4_ff_layout_prepare_ds() argument 372 struct inode *ino = lseg->pls_layout->plh_inode; in nfs4_ff_layout_prepare_ds() 377 if (!ff_layout_init_mirror_ds(lseg->pls_layout, mirror)) in nfs4_ff_layout_prepare_ds() 406 ff_layout_track_ds_error(FF_LAYOUT_FROM_HDR(lseg->pls_layout), in nfs4_ff_layout_prepare_ds() 407 mirror, lseg->pls_range.offset, in nfs4_ff_layout_prepare_ds() 408 lseg->pls_range.length, NFS4ERR_NXIO, in nfs4_ff_layout_prepare_ds() 410 ff_layout_send_layouterror(lseg); in nfs4_ff_layout_prepare_ds() 411 if (fail_return || !ff_layout_has_available_ds(lseg)) in nfs4_ff_layout_prepare_ds() 412 pnfs_error_mark_layout_for_return(ino, lseg); in nfs4_ff_layout_prepare_ds() [all …]
|
| /Linux-v5.4/fs/nfs/filelayout/ |
| D | filelayout.c | 73 filelayout_get_dserver_offset(struct pnfs_layout_segment *lseg, loff_t offset) in filelayout_get_dserver_offset() argument 75 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in filelayout_get_dserver_offset() 125 struct pnfs_layout_segment *lseg) in filelayout_async_handle_error() argument 127 struct pnfs_layout_hdr *lo = lseg->pls_layout; in filelayout_async_handle_error() 129 struct nfs4_deviceid_node *devid = FILELAYOUT_DEVID_NODE(lseg); in filelayout_async_handle_error() 186 pnfs_error_mark_layout_for_return(inode, lseg); in filelayout_async_handle_error() 187 pnfs_set_lo_fail(lseg); in filelayout_async_handle_error() 209 hdr->ds_clp, hdr->lseg); in filelayout_read_done_cb() 233 if (FILELAYOUT_LSEG(hdr->lseg)->commit_through_mds || in filelayout_set_layoutcommit() 240 pnfs_set_layoutcommit(hdr->inode, hdr->lseg, end_offs); in filelayout_set_layoutcommit() [all …]
|
| 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,
|
| 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-v5.4/Documentation/filesystems/nfs/ |
| D | pnfs.txt | 14 pnfs_layout_segment, usually referred to by the variable name lseg. 20 LAYOUTCOMMIT), and for each lseg held within. 24 the reference count, as the layout is kept around by the lseg that 33 the lifetime of each lseg referencing them. 50 lseg 52 lseg maintains an extra reference corresponding to the NFS_LSEG_VALID 53 bit which holds it in the pnfs_layout_hdr's list. When the final lseg
|
| /Linux-v5.4/fs/nfs/blocklayout/ |
| D | blocklayout.c | 194 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_mark_devices_unavailable() 224 pnfs_set_lo_fail(header->lseg); in bl_end_io_read() 255 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_read_pagelist() 354 pnfs_set_lo_fail(header->lseg); in bl_end_io_write() 373 struct pnfs_block_layout *bl = BLK_LSEG2EXT(hdr->lseg); in bl_write_cleanup() 400 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_write_pagelist() 512 static void bl_free_lseg(struct pnfs_layout_segment *lseg) in bl_free_lseg() argument 515 kfree(lseg); in bl_free_lseg() 678 struct pnfs_layout_segment *lseg; in bl_alloc_lseg() local 689 lseg = kzalloc(sizeof(*lseg), gfp_mask); in bl_alloc_lseg() [all …]
|
| D | blocklayout.h | 153 BLK_LSEG2EXT(struct pnfs_layout_segment *lseg) in BLK_LSEG2EXT() argument 155 return BLK_LO2EXT(lseg->pls_layout); in BLK_LSEG2EXT()
|
| /Linux-v5.4/arch/x86/kernel/ |
| D | module.c | 249 void *lseg = (void *)locks->sh_addr; in module_finalize() local 252 lseg, lseg + locks->sh_size, in module_finalize()
|
| /Linux-v5.4/include/linux/ |
| D | nfs_xdr.h | 418 struct pnfs_layout_segment *lseg; member 1512 struct pnfs_layout_segment *lseg; member 1576 struct pnfs_layout_segment *lseg; member
|