Home
last modified time | relevance | path

Searched refs:lseg (Results 1 – 21 of 21) sorted by relevance

/Linux-v5.4/fs/nfs/
Dpnfs.c62 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 …]
Dpnfs.h138 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 …]
Dnfs42proc.c673 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()
Dnfs42.h23 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg,
Dnfs4trace.h1799 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 …]
Dpnfs_nfs.c57 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()
Dwrite.c939 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()
Dinternal.h480 struct pnfs_layout_segment *lseg,
488 struct pnfs_layout_segment *lseg,
496 struct pnfs_layout_segment *lseg,
Ddirect.c795 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
Dnfs4proc.c9099 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/
Dflexfilelayout.h128 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 …]
Dflexfilelayout.c341 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 …]
Dflexfilelayoutdev.c24 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/
Dfilelayout.c73 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 …]
Dfilelayout.h82 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,
Dfilelayoutdev.c224 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/
Dpnfs.txt14 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/
Dblocklayout.c194 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 …]
Dblocklayout.h153 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/
Dmodule.c249 void *lseg = (void *)locks->sh_addr; in module_finalize() local
252 lseg, lseg + locks->sh_size, in module_finalize()
/Linux-v5.4/include/linux/
Dnfs_xdr.h418 struct pnfs_layout_segment *lseg; member
1512 struct pnfs_layout_segment *lseg; member
1576 struct pnfs_layout_segment *lseg; member