/fs/nfs/ |
D | pnfs.c | 62 static bool pnfs_lseg_dec_and_remove_zero(struct pnfs_layout_segment *lseg, 375 struct pnfs_layout_segment *lseg; in pnfs_clear_layoutreturn_info() local 379 list_for_each_entry(lseg, &lo->plh_segs, pls_list) { in pnfs_clear_layoutreturn_info() 380 if (!test_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags)) in pnfs_clear_layoutreturn_info() 382 pnfs_set_plh_return_info(lo, lseg->pls_range.iomode, 0); in pnfs_clear_layoutreturn_info() 396 pnfs_clear_lseg_state(struct pnfs_layout_segment *lseg, in pnfs_clear_lseg_state() argument 399 clear_bit(NFS_LSEG_ROC, &lseg->pls_flags); in pnfs_clear_lseg_state() 400 clear_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags); in pnfs_clear_lseg_state() 401 if (test_and_clear_bit(NFS_LSEG_VALID, &lseg->pls_flags)) in pnfs_clear_lseg_state() 402 pnfs_lseg_dec_and_remove_zero(lseg, free_me); in pnfs_clear_lseg_state() [all …]
|
D | pnfs_nfs.c | 56 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 …]
|
D | pnfs.h | 143 void (*free_lseg) (struct pnfs_layout_segment *lseg); 145 struct pnfs_layout_segment *lseg, 188 struct pnfs_layout_segment *lseg, 255 void pnfs_put_lseg(struct pnfs_layout_segment *lseg); 269 void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg); 332 struct pnfs_layout_segment *lseg, 335 bool (*do_merge)(struct pnfs_layout_segment *lseg, 344 struct pnfs_layout_segment *lseg); 389 struct pnfs_layout_segment *lseg); 420 struct pnfs_layout_segment *lseg, [all …]
|
D | nfs4trace.h | 1779 #define NFS4_LSEG_LAYOUT_STATEID_HASH(lseg) \ argument 1780 (lseg ? nfs_stateid_hash(&lseg->pls_layout->plh_stateid) : 0) 1782 #define NFS4_LSEG_LAYOUT_STATEID_HASH(lseg) (0) argument 1814 const struct pnfs_layout_segment *lseg = hdr->lseg; 1827 __entry->layoutstateid_seq = lseg ? lseg->pls_seq : 0; 1829 NFS4_LSEG_LAYOUT_STATEID_HASH(lseg); 1888 const struct pnfs_layout_segment *lseg = hdr->lseg; 1901 __entry->layoutstateid_seq = lseg ? lseg->pls_seq : 0; 1903 NFS4_LSEG_LAYOUT_STATEID_HASH(lseg); 1958 const struct pnfs_layout_segment *lseg = data->lseg; [all …]
|
D | nfs42proc.c | 869 nfs42_alloc_layouterror_data(struct pnfs_layout_segment *lseg, gfp_t gfp_flags) in nfs42_alloc_layouterror_data() argument 872 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_alloc_layouterror_data() 878 data->lseg = pnfs_get_lseg(lseg); in nfs42_alloc_layouterror_data() 879 if (data->lseg) in nfs42_alloc_layouterror_data() 891 pnfs_put_lseg(data->lseg); in nfs42_free_layouterror_data() 902 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_prepare() 924 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_done() 994 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg, in nfs42_proc_layouterror() argument 997 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_proc_layouterror() 1014 data = nfs42_alloc_layouterror_data(lseg, GFP_NOFS); in nfs42_proc_layouterror()
|
D | write.c | 934 nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, in nfs_mark_request_commit() argument 937 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit() 970 return hdr->lseg == NULL; in nfs_write_need_commit() 1002 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion() 1727 struct pnfs_layout_segment *lseg, in nfs_init_commit() argument 1746 data->lseg = lseg; /* reference transferred */ in nfs_init_commit() 1748 if (lseg) in nfs_init_commit() 1767 struct pnfs_layout_segment *lseg, in nfs_retry_commit() argument 1776 nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); in nfs_retry_commit()
|
D | nfs42.h | 27 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg,
|
D | internal.h | 499 struct pnfs_layout_segment *lseg, 507 struct pnfs_layout_segment *lseg, 515 struct pnfs_layout_segment *lseg,
|
D | direct.c | 760 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
|
D | nfs4proc.c | 9677 struct pnfs_layout_segment *lseg = NULL; in nfs4_proc_layoutget() local 9701 lseg = pnfs_layout_process(lgp); in nfs4_proc_layoutget() 9713 return lseg; in nfs4_proc_layoutget()
|
/fs/nfs/filelayout/ |
D | filelayout.c | 74 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 …]
|
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 …]
|
/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() 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 …]
|
D | flexfilelayout.c | 337 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 …]
|
D | flexfilelayoutdev.c | 24 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 …]
|
/fs/nfs/blocklayout/ |
D | blocklayout.c | 189 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_mark_devices_unavailable() 219 pnfs_set_lo_fail(header->lseg); in bl_end_io_read() 250 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_read_pagelist() 349 pnfs_set_lo_fail(header->lseg); in bl_end_io_write() 368 struct pnfs_block_layout *bl = BLK_LSEG2EXT(hdr->lseg); in bl_write_cleanup() 395 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_write_pagelist() 507 static void bl_free_lseg(struct pnfs_layout_segment *lseg) in bl_free_lseg() argument 510 kfree(lseg); in bl_free_lseg() 675 struct pnfs_layout_segment *lseg; in bl_alloc_lseg() local 686 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()
|