| /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 | 147 void (*free_lseg) (struct pnfs_layout_segment *lseg); 149 struct pnfs_layout_segment *lseg, 181 void (*cancel_io)(struct pnfs_layout_segment *lseg); 194 struct pnfs_layout_segment *lseg, 265 void pnfs_put_lseg(struct pnfs_layout_segment *lseg); 278 void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg); 342 struct pnfs_layout_segment *lseg, 345 bool (*do_merge)(struct pnfs_layout_segment *lseg, 354 struct pnfs_layout_segment *lseg); 400 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 | nfs4trace.h | 1677 #define NFS4_LSEG_LAYOUT_STATEID_HASH(lseg) \ argument 1678 (lseg ? nfs_stateid_hash(&lseg->pls_layout->plh_stateid) : 0) 1709 const struct pnfs_layout_segment *lseg = hdr->lseg; 1722 __entry->layoutstateid_seq = lseg ? lseg->pls_seq : 0; 1724 NFS4_LSEG_LAYOUT_STATEID_HASH(lseg); 1781 const struct pnfs_layout_segment *lseg = hdr->lseg; 1794 __entry->layoutstateid_seq = lseg ? lseg->pls_seq : 0; 1796 NFS4_LSEG_LAYOUT_STATEID_HASH(lseg); 1849 const struct pnfs_layout_segment *lseg = data->lseg; 1857 __entry->layoutstateid_seq = lseg ? lseg->pls_seq : 0; [all …]
|
| H A D | write.c | 862 nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, in nfs_mark_request_commit() argument 865 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit() 902 return hdr->lseg == NULL; in nfs_write_need_commit() 939 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion() 1697 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() 1737 struct pnfs_layout_segment *lseg, in nfs_retry_commit() argument 1746 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 | 609 struct pnfs_layout_segment *lseg, 617 struct pnfs_layout_segment *lseg, 625 struct pnfs_layout_segment *lseg,
|
| H A D | nfs4proc.c | 9780 struct pnfs_layout_segment *lseg = NULL; in nfs4_proc_layoutget() local 9803 lseg = pnfs_layout_process(lgp); in nfs4_proc_layoutget() 9815 return lseg; in nfs4_proc_layoutget()
|
| /linux/fs/nfs/flexfilelayout/ |
| H A D | flexfilelayout.c | 167 ff_local_open_fh(struct pnfs_layout_segment *lseg, u32 ds_idx, u32 dss_id, in ff_local_open_fh() argument 172 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, ds_idx); in ff_local_open_fh() 413 struct pnfs_layout_segment *lseg, in ff_layout_add_lseg() argument 416 pnfs_generic_layout_insert_lseg(lo, lseg, in ff_layout_add_lseg() 664 ff_layout_free_lseg(struct pnfs_layout_segment *lseg) in ff_layout_free_lseg() argument 666 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in ff_layout_free_lseg() 670 if (lseg->pls_range.iomode == IOMODE_RW) { in ff_layout_free_lseg() 674 ffl = FF_LAYOUT_FROM_HDR(lseg->pls_layout); in ff_layout_free_lseg() 677 pnfs_generic_ds_cinfo_release_lseg(&ffl->commit_info, lseg); in ff_layout_free_lseg() 683 static u32 calc_commit_idx(struct pnfs_layout_segment *lseg, in calc_commit_idx() argument [all …]
|
| H A D | flexfilelayoutdev.c | 24 static bool ff_layout_has_available_ds(struct pnfs_layout_segment *lseg); 377 nfs4_ff_layout_prepare_ds(struct pnfs_layout_segment *lseg, in nfs4_ff_layout_prepare_ds() argument 383 struct inode *ino = lseg->pls_layout->plh_inode; in nfs4_ff_layout_prepare_ds() 388 if (!ff_layout_init_mirror_ds(lseg->pls_layout, mirror, dss_id)) in nfs4_ff_layout_prepare_ds() 424 ff_layout_track_ds_error(FF_LAYOUT_FROM_HDR(lseg->pls_layout), in nfs4_ff_layout_prepare_ds() 425 mirror, dss_id, lseg->pls_range.offset, in nfs4_ff_layout_prepare_ds() 426 lseg->pls_range.length, NFS4ERR_NXIO, in nfs4_ff_layout_prepare_ds() 428 ff_layout_send_layouterror(lseg); in nfs4_ff_layout_prepare_ds() 429 if (fail_return || !ff_layout_has_available_ds(lseg)) in nfs4_ff_layout_prepare_ds() 430 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 | 225 nfs4_fl_calc_j_index(struct pnfs_layout_segment *lseg, loff_t offset) in nfs4_fl_calc_j_index() argument 227 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in nfs4_fl_calc_j_index() 237 nfs4_fl_calc_ds_index(struct pnfs_layout_segment *lseg, u32 j) in nfs4_fl_calc_ds_index() argument 239 return FILELAYOUT_LSEG(lseg)->dsaddr->stripe_indices[j]; in nfs4_fl_calc_ds_index() 243 nfs4_fl_select_ds_fh(struct pnfs_layout_segment *lseg, u32 j) in nfs4_fl_select_ds_fh() argument 245 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in nfs4_fl_select_ds_fh() 255 i = nfs4_fl_calc_ds_index(lseg, j); in nfs4_fl_select_ds_fh() 263 nfs4_fl_prepare_ds(struct pnfs_layout_segment *lseg, u32 ds_idx) in nfs4_fl_prepare_ds() argument 265 struct nfs4_file_layout_dsaddr *dsaddr = FILELAYOUT_LSEG(lseg)->dsaddr; in nfs4_fl_prepare_ds() 267 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 | 437 struct pnfs_layout_segment *lseg; member 1337 struct pnfs_layout_segment *lseg; member 1344 struct pnfs_layout_segment *lseg; member 1664 struct pnfs_layout_segment *lseg; member 1732 struct pnfs_layout_segment *lseg; member
|