Home
last modified time | relevance | path

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

/kernel/linux/linux-5.10/fs/nfs/
Dpnfs.c62 static bool pnfs_lseg_dec_and_remove_zero(struct pnfs_layout_segment *lseg,
364 struct pnfs_layout_segment *lseg; in pnfs_clear_layoutreturn_info() local
368 list_for_each_entry(lseg, &lo->plh_segs, pls_list) { in pnfs_clear_layoutreturn_info()
369 if (!test_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags)) in pnfs_clear_layoutreturn_info()
371 pnfs_set_plh_return_info(lo, lseg->pls_range.iomode, 0); in pnfs_clear_layoutreturn_info()
385 pnfs_clear_lseg_state(struct pnfs_layout_segment *lseg, in pnfs_clear_lseg_state() argument
388 clear_bit(NFS_LSEG_ROC, &lseg->pls_flags); in pnfs_clear_lseg_state()
389 clear_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags); in pnfs_clear_lseg_state()
390 if (test_and_clear_bit(NFS_LSEG_VALID, &lseg->pls_flags)) in pnfs_clear_lseg_state()
391 pnfs_lseg_dec_and_remove_zero(lseg, free_me); in pnfs_clear_lseg_state()
[all …]
Dpnfs_nfs.c56 pnfs_put_lseg(data->lseg); in pnfs_generic_commit_release()
66 struct pnfs_layout_segment *freeme = bucket->lseg; in pnfs_free_bucket_lseg()
67 bucket->lseg = NULL; in pnfs_free_bucket_lseg()
108 p->lseg = NULL; in pnfs_alloc_commit_array()
112 b->lseg = NULL; in pnfs_alloc_commit_array()
128 struct pnfs_layout_segment *lseg) in pnfs_find_commit_array_by_lseg() argument
133 if (array->lseg == lseg) in pnfs_find_commit_array_by_lseg()
142 struct pnfs_layout_segment *lseg) in pnfs_add_commit_array() argument
146 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_add_commit_array()
149 new->lseg = lseg; in pnfs_add_commit_array()
[all …]
Dpnfs.h140 void (*free_lseg) (struct pnfs_layout_segment *lseg);
142 struct pnfs_layout_segment *lseg,
185 struct pnfs_layout_segment *lseg,
250 void pnfs_put_lseg(struct pnfs_layout_segment *lseg);
264 void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg);
327 struct pnfs_layout_segment *lseg,
330 bool (*do_merge)(struct pnfs_layout_segment *lseg,
339 struct pnfs_layout_segment *lseg);
384 struct pnfs_layout_segment *lseg);
415 struct pnfs_layout_segment *lseg,
[all …]
Dnfs4trace.h1732 #define NFS4_LSEG_LAYOUT_STATEID_HASH(lseg) \ argument
1733 (lseg ? nfs_stateid_hash(&lseg->pls_layout->plh_stateid) : 0)
1735 #define NFS4_LSEG_LAYOUT_STATEID_HASH(lseg) (0) argument
1767 const struct pnfs_layout_segment *lseg = hdr->lseg;
1780 __entry->layoutstateid_seq = lseg ? lseg->pls_seq : 0;
1782 NFS4_LSEG_LAYOUT_STATEID_HASH(lseg);
1841 const struct pnfs_layout_segment *lseg = hdr->lseg;
1854 __entry->layoutstateid_seq = lseg ? lseg->pls_seq : 0;
1856 NFS4_LSEG_LAYOUT_STATEID_HASH(lseg);
1911 const struct pnfs_layout_segment *lseg = data->lseg;
[all …]
Dnfs42proc.c846 nfs42_alloc_layouterror_data(struct pnfs_layout_segment *lseg, gfp_t gfp_flags) in nfs42_alloc_layouterror_data() argument
849 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_alloc_layouterror_data()
855 data->lseg = pnfs_get_lseg(lseg); in nfs42_alloc_layouterror_data()
856 if (data->lseg) in nfs42_alloc_layouterror_data()
868 pnfs_put_lseg(data->lseg); in nfs42_free_layouterror_data()
879 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_prepare()
901 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_done()
971 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg, in nfs42_proc_layouterror() argument
974 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_proc_layouterror()
991 data = nfs42_alloc_layouterror_data(lseg, GFP_NOFS); in nfs42_proc_layouterror()
Dnfs42.h27 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg,
Dwrite.c938 nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, in nfs_mark_request_commit() argument
941 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit()
976 return hdr->lseg == NULL; in nfs_write_need_commit()
1008 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion()
1723 struct pnfs_layout_segment *lseg, in nfs_init_commit() argument
1742 data->lseg = lseg; /* reference transferred */ in nfs_init_commit()
1744 if (lseg) in nfs_init_commit()
1763 struct pnfs_layout_segment *lseg, in nfs_retry_commit() argument
1772 nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); in nfs_retry_commit()
Dinternal.h496 struct pnfs_layout_segment *lseg,
504 struct pnfs_layout_segment *lseg,
512 struct pnfs_layout_segment *lseg,
Ddirect.c730 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
Dnfs4proc.c9494 struct pnfs_layout_segment *lseg = NULL; in nfs4_proc_layoutget() local
9521 lseg = pnfs_layout_process(lgp); in nfs4_proc_layoutget()
9533 return lseg; in nfs4_proc_layoutget()
/kernel/linux/linux-5.10/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.c337 struct pnfs_layout_segment *lseg, in ff_layout_add_lseg() argument
340 pnfs_generic_layout_insert_lseg(lo, lseg, in ff_layout_add_lseg()
554 ff_layout_free_lseg(struct pnfs_layout_segment *lseg) in ff_layout_free_lseg() argument
556 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in ff_layout_free_lseg()
560 if (lseg->pls_range.iomode == IOMODE_RW) { in ff_layout_free_lseg()
564 ffl = FF_LAYOUT_FROM_HDR(lseg->pls_layout); in ff_layout_free_lseg()
567 pnfs_generic_ds_cinfo_release_lseg(&ffl->commit_info, lseg); in ff_layout_free_lseg()
718 ff_layout_mark_ds_unreachable(struct pnfs_layout_segment *lseg, u32 idx) in ff_layout_mark_ds_unreachable() argument
720 struct nfs4_deviceid_node *devid = FF_LAYOUT_DEVID_NODE(lseg, idx); in ff_layout_mark_ds_unreachable()
727 ff_layout_mark_ds_reachable(struct pnfs_layout_segment *lseg, u32 idx) in ff_layout_mark_ds_reachable() argument
[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 …]
/kernel/linux/linux-5.10/fs/nfs/filelayout/
Dfilelayout.c74 filelayout_get_dserver_offset(struct pnfs_layout_segment *lseg, loff_t offset) in filelayout_get_dserver_offset() argument
76 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in filelayout_get_dserver_offset()
126 struct pnfs_layout_segment *lseg) in filelayout_async_handle_error() argument
128 struct pnfs_layout_hdr *lo = lseg->pls_layout; in filelayout_async_handle_error()
130 struct nfs4_deviceid_node *devid = FILELAYOUT_DEVID_NODE(lseg); in filelayout_async_handle_error()
187 pnfs_error_mark_layout_for_return(inode, lseg); in filelayout_async_handle_error()
188 pnfs_set_lo_fail(lseg); in filelayout_async_handle_error()
210 hdr->ds_clp, hdr->lseg); in filelayout_read_done_cb()
234 if (FILELAYOUT_LSEG(hdr->lseg)->commit_through_mds || in filelayout_set_layoutcommit()
241 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 …]
/kernel/linux/linux-5.10/Documentation/filesystems/nfs/
Dpnfs.rst16 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
/kernel/linux/linux-5.10/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()
/kernel/linux/linux-5.10/arch/x86/kernel/
Dmodule.c291 void *lseg = (void *)locks->sh_addr; in module_finalize() local
294 lseg, lseg + locks->sh_size, in module_finalize()
/kernel/linux/linux-5.10/include/linux/
Dnfs_xdr.h422 struct pnfs_layout_segment *lseg; member
1275 struct pnfs_layout_segment *lseg; member
1282 struct pnfs_layout_segment *lseg; member
1593 struct pnfs_layout_segment *lseg; member
1657 struct pnfs_layout_segment *lseg; member