| /linux/fs/nfs/ |
| H A D | pnfs.c | 62 static bool pnfs_lseg_dec_and_remove_zero(struct pnfs_layout_segment *lseg, 374 struct pnfs_layout_segment *lseg; in pnfs_clear_layoutreturn_info() local 378 list_for_each_entry(lseg, &lo->plh_segs, pls_list) { in pnfs_clear_layoutreturn_info() 379 if (!test_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags)) in pnfs_clear_layoutreturn_info() 381 pnfs_set_plh_return_info(lo, lseg->pls_range.iomode, 0); in pnfs_clear_layoutreturn_info() 395 pnfs_clear_lseg_state(struct pnfs_layout_segment *lseg, in pnfs_clear_lseg_state() argument 398 clear_bit(NFS_LSEG_ROC, &lseg->pls_flags); in pnfs_clear_lseg_state() 399 clear_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags); in pnfs_clear_lseg_state() 400 if (test_and_clear_bit(NFS_LSEG_VALID, &lseg->pls_flags)) in pnfs_clear_lseg_state() 401 pnfs_lseg_dec_and_remove_zero(lseg, free_me); in pnfs_clear_lseg_state() [all …]
|
| H A D | pnfs.h | 146 void (*free_lseg) (struct pnfs_layout_segment *lseg); 148 struct pnfs_layout_segment *lseg, 180 void (*cancel_io)(struct pnfs_layout_segment *lseg); 193 struct pnfs_layout_segment *lseg, 264 void pnfs_put_lseg(struct pnfs_layout_segment *lseg); 277 void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg); 341 struct pnfs_layout_segment *lseg, 344 bool (*do_merge)(struct pnfs_layout_segment *lseg, 353 struct pnfs_layout_segment *lseg); 399 struct pnfs_layout_segment *lseg); [all …]
|
| H A D | pnfs_nfs.c | 58 pnfs_put_lseg(data->lseg); in pnfs_generic_commit_release() 68 struct pnfs_layout_segment *freeme = bucket->lseg; in pnfs_free_bucket_lseg() 69 bucket->lseg = NULL; in pnfs_free_bucket_lseg() 110 p->lseg = NULL; in pnfs_alloc_commit_array() 114 b->lseg = NULL; in pnfs_alloc_commit_array() 130 struct pnfs_layout_segment *lseg) in pnfs_find_commit_array_by_lseg() argument 135 if (array->lseg == lseg) in pnfs_find_commit_array_by_lseg() 144 struct pnfs_layout_segment *lseg) in pnfs_add_commit_array() argument 148 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_add_commit_array() 151 new->lseg = lseg; in pnfs_add_commit_array() [all …]
|
| H A D | nfs42proc.c | 1086 nfs42_alloc_layouterror_data(struct pnfs_layout_segment *lseg, gfp_t gfp_flags) in nfs42_alloc_layouterror_data() argument 1089 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_alloc_layouterror_data() 1095 data->lseg = pnfs_get_lseg(lseg); in nfs42_alloc_layouterror_data() 1096 if (data->lseg) in nfs42_alloc_layouterror_data() 1108 pnfs_put_lseg(data->lseg); in nfs42_free_layouterror_data() 1119 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_prepare() 1141 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_done() 1211 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg, in nfs42_proc_layouterror() argument 1214 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_proc_layouterror() 1232 data = nfs42_alloc_layouterror_data(lseg, nfs_io_gfp_mask()); in nfs42_proc_layouterror()
|
| H A D | write.c | 861 nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, in nfs_mark_request_commit() argument 864 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit() 899 return hdr->lseg == NULL; in nfs_write_need_commit() 936 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion() 1694 struct pnfs_layout_segment *lseg, in nfs_init_commit() argument 1713 data->lseg = lseg; /* reference transferred */ in nfs_init_commit() 1715 if (lseg) in nfs_init_commit() 1734 struct pnfs_layout_segment *lseg, in nfs_retry_commit() argument 1743 nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); in nfs_retry_commit()
|
| H A D | nfs42.h | 29 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg,
|
| H A D | internal.h | 603 struct pnfs_layout_segment *lseg, 611 struct pnfs_layout_segment *lseg, 619 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 | 9722 struct pnfs_layout_segment *lseg = NULL; in nfs4_proc_layoutget() local 9745 lseg = pnfs_layout_process(lgp); in nfs4_proc_layoutget() 9757 return lseg; in nfs4_proc_layoutget()
|
| /linux/fs/nfs/flexfilelayout/ |
| H A D | flexfilelayout.h | 138 FF_LAYOUT_LSEG(struct pnfs_layout_segment *lseg) in FF_LAYOUT_LSEG() argument 140 return container_of(lseg, in FF_LAYOUT_LSEG() 152 FF_LAYOUT_COMP(struct pnfs_layout_segment *lseg, u32 idx) in FF_LAYOUT_COMP() argument 154 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in FF_LAYOUT_COMP() 162 FF_LAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg, u32 idx, u32 dss_id) in FF_LAYOUT_DEVID_NODE() argument 164 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, idx); in FF_LAYOUT_DEVID_NODE() 176 FF_LAYOUT_MIRROR_COUNT(struct pnfs_layout_segment *lseg) in FF_LAYOUT_MIRROR_COUNT() argument 178 return FF_LAYOUT_LSEG(lseg)->mirror_array_cnt; in FF_LAYOUT_MIRROR_COUNT() 182 ff_layout_no_fallback_to_mds(struct pnfs_layout_segment *lseg) in ff_layout_no_fallback_to_mds() argument 184 return FF_LAYOUT_LSEG(lseg)->flags & FF_FLAGS_NO_IO_THRU_MDS; in ff_layout_no_fallback_to_mds() [all …]
|
| H A D | flexfilelayoutdev.c | 24 static bool ff_layout_has_available_ds(struct pnfs_layout_segment *lseg); 376 nfs4_ff_layout_prepare_ds(struct pnfs_layout_segment *lseg, in nfs4_ff_layout_prepare_ds() argument 382 struct inode *ino = lseg->pls_layout->plh_inode; in nfs4_ff_layout_prepare_ds() 387 if (!ff_layout_init_mirror_ds(lseg->pls_layout, mirror, dss_id)) in nfs4_ff_layout_prepare_ds() 422 ff_layout_track_ds_error(FF_LAYOUT_FROM_HDR(lseg->pls_layout), in nfs4_ff_layout_prepare_ds() 423 mirror, dss_id, lseg->pls_range.offset, in nfs4_ff_layout_prepare_ds() 424 lseg->pls_range.length, NFS4ERR_NXIO, in nfs4_ff_layout_prepare_ds() 426 ff_layout_send_layouterror(lseg); in nfs4_ff_layout_prepare_ds() 427 if (fail_return || !ff_layout_has_available_ds(lseg)) in nfs4_ff_layout_prepare_ds() 428 pnfs_error_mark_layout_for_return(ino, lseg); in nfs4_ff_layout_prepare_ds() [all …]
|
| /linux/fs/nfs/filelayout/ |
| 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/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/fs/nfs/blocklayout/ |
| 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/include/linux/ |
| H A D | nfs_xdr.h | 429 struct pnfs_layout_segment *lseg; member 1330 struct pnfs_layout_segment *lseg; member 1337 struct pnfs_layout_segment *lseg; member 1657 struct pnfs_layout_segment *lseg; member 1725 struct pnfs_layout_segment *lseg; member
|