/Linux-v4.19/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() 136 FF_LAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg, u32 idx) in FF_LAYOUT_DEVID_NODE() argument 138 if (idx >= FF_LAYOUT_LSEG(lseg)->mirror_array_cnt || in FF_LAYOUT_DEVID_NODE() 139 FF_LAYOUT_LSEG(lseg)->mirror_array[idx] == NULL || in FF_LAYOUT_DEVID_NODE() 140 FF_LAYOUT_LSEG(lseg)->mirror_array[idx]->mirror_ds == NULL) in FF_LAYOUT_DEVID_NODE() 142 return &FF_LAYOUT_LSEG(lseg)->mirror_array[idx]->mirror_ds->id_node; in FF_LAYOUT_DEVID_NODE() 152 FF_LAYOUT_COMP(struct pnfs_layout_segment *lseg, u32 idx) in FF_LAYOUT_COMP() argument 154 if (idx >= FF_LAYOUT_LSEG(lseg)->mirror_array_cnt) in FF_LAYOUT_COMP() 156 return FF_LAYOUT_LSEG(lseg)->mirror_array[idx]; in FF_LAYOUT_COMP() [all …]
|
D | flexfilelayoutdev.c | 24 static bool ff_layout_has_available_ds(struct pnfs_layout_segment *lseg); 186 static void ff_layout_mark_devid_invalid(struct pnfs_layout_segment *lseg, in ff_layout_mark_devid_invalid() argument 190 if (!ff_layout_has_available_ds(lseg)) in ff_layout_mark_devid_invalid() 191 pnfs_error_mark_layout_for_return(lseg->pls_layout->plh_inode, in ff_layout_mark_devid_invalid() 192 lseg); in ff_layout_mark_devid_invalid() 195 static bool ff_layout_mirror_valid(struct pnfs_layout_segment *lseg, in ff_layout_mirror_valid() argument 204 struct pnfs_layout_hdr *lh = lseg->pls_layout; in ff_layout_mirror_valid() 227 ff_layout_mark_devid_invalid(lseg, devid); in ff_layout_mirror_valid() 232 pnfs_error_mark_layout_for_return(lseg->pls_layout->plh_inode, lseg); in ff_layout_mirror_valid() 356 nfs4_ff_layout_select_ds_fh(struct pnfs_layout_segment *lseg, u32 mirror_idx) in nfs4_ff_layout_select_ds_fh() argument [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() 556 struct pnfs_layout_segment *lseg; in ff_layout_has_rw_segments() local 558 list_for_each_entry(lseg, &layout->plh_segs, pls_list) in ff_layout_has_rw_segments() 559 if (lseg->pls_range.iomode == IOMODE_RW) in ff_layout_has_rw_segments() 566 ff_layout_free_lseg(struct pnfs_layout_segment *lseg) in ff_layout_free_lseg() argument 568 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in ff_layout_free_lseg() 572 if (lseg->pls_range.iomode == IOMODE_RW) { in ff_layout_free_lseg() 576 ffl = FF_LAYOUT_FROM_HDR(lseg->pls_layout); in ff_layout_free_lseg() 579 if (!ff_layout_has_rw_segments(lseg->pls_layout)) { in ff_layout_free_lseg() [all …]
|
/Linux-v4.19/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 | 136 void (*free_lseg) (struct pnfs_layout_segment *lseg); 138 struct pnfs_layout_segment *lseg, 150 struct pnfs_layout_segment *lseg, 238 void pnfs_put_lseg(struct pnfs_layout_segment *lseg); 251 void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg); 310 struct pnfs_layout_segment *lseg, 313 bool (*do_merge)(struct pnfs_layout_segment *lseg, 322 struct pnfs_layout_segment *lseg); 382 struct pnfs_layout_segment *lseg, 409 pnfs_get_lseg(struct pnfs_layout_segment *lseg) in pnfs_get_lseg() argument [all …]
|
D | pnfs_nfs.c | 56 pnfs_put_lseg(data->lseg); in pnfs_generic_commit_release() 227 data->lseg = bucket->clseg; in pnfs_fetch_commit_bucket_list() 305 nfs_init_commit(data, &pages, data->lseg, cinfo); in pnfs_generic_commit_pagelist() 923 struct pnfs_layout_segment *lseg, in pnfs_layout_mark_request_commit() argument 934 if (!pnfs_is_valid_lseg(lseg)) { in pnfs_layout_mark_request_commit() 946 buckets[ds_commit_idx].wlseg = pnfs_get_lseg(lseg); in pnfs_layout_mark_request_commit()
|
D | write.c | 935 nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, in nfs_mark_request_commit() argument 938 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit() 972 return hdr->lseg == NULL; in nfs_write_need_commit() 1002 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion() 1703 struct pnfs_layout_segment *lseg, in nfs_init_commit() argument 1716 data->lseg = lseg; /* reference transferred */ in nfs_init_commit() 1718 if (lseg) in nfs_init_commit() 1736 struct pnfs_layout_segment *lseg, in nfs_retry_commit() argument 1745 nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); in nfs_retry_commit()
|
D | internal.h | 486 struct pnfs_layout_segment *lseg, 494 struct pnfs_layout_segment *lseg, 502 struct pnfs_layout_segment *lseg,
|
D | nfs4trace.h | 1553 struct pnfs_layout_segment *lseg, 1556 TP_ARGS(inode, pos, count, iomode, lo, lseg, reason), 1566 __field(long, lseg) 1586 __entry->lseg = (long)lseg; 1599 __entry->lseg,
|
D | direct.c | 805 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
|
D | nfs4proc.c | 8895 struct pnfs_layout_segment *lseg = NULL; in nfs4_proc_layoutget() local 8921 lseg = pnfs_layout_process(lgp); in nfs4_proc_layoutget() 8933 return lseg; in nfs4_proc_layoutget()
|
/Linux-v4.19/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-v4.19/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-v4.19/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-v4.19/arch/x86/kernel/ |
D | module.c | 255 void *lseg = (void *)locks->sh_addr; in module_finalize() local 258 lseg, lseg + locks->sh_size, in module_finalize()
|
/Linux-v4.19/include/linux/ |
D | nfs_xdr.h | 1466 struct pnfs_layout_segment *lseg; member 1531 struct pnfs_layout_segment *lseg; member
|