/fs/nfs/ |
D | pnfs.c | 62 static bool pnfs_lseg_dec_and_remove_zero(struct pnfs_layout_segment *lseg, 345 struct pnfs_layout_segment *lseg; in pnfs_clear_layoutreturn_info() local 349 list_for_each_entry(lseg, &lo->plh_segs, pls_list) { in pnfs_clear_layoutreturn_info() 350 if (!test_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags)) in pnfs_clear_layoutreturn_info() 352 pnfs_set_plh_return_info(lo, lseg->pls_range.iomode, 0); in pnfs_clear_layoutreturn_info() 366 pnfs_clear_lseg_state(struct pnfs_layout_segment *lseg, in pnfs_clear_lseg_state() argument 369 clear_bit(NFS_LSEG_ROC, &lseg->pls_flags); in pnfs_clear_lseg_state() 370 clear_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags); in pnfs_clear_lseg_state() 371 if (test_and_clear_bit(NFS_LSEG_VALID, &lseg->pls_flags)) in pnfs_clear_lseg_state() 372 pnfs_lseg_dec_and_remove_zero(lseg, free_me); in pnfs_clear_lseg_state() [all …]
|
D | pnfs.h | 138 void (*free_lseg) (struct pnfs_layout_segment *lseg); 140 struct pnfs_layout_segment *lseg, 152 struct pnfs_layout_segment *lseg, 242 void pnfs_put_lseg(struct pnfs_layout_segment *lseg); 255 void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg); 317 struct pnfs_layout_segment *lseg, 320 bool (*do_merge)(struct pnfs_layout_segment *lseg, 329 struct pnfs_layout_segment *lseg); 390 struct pnfs_layout_segment *lseg, 417 pnfs_get_lseg(struct pnfs_layout_segment *lseg) in pnfs_get_lseg() argument [all …]
|
D | nfs42proc.c | 679 nfs42_alloc_layouterror_data(struct pnfs_layout_segment *lseg, gfp_t gfp_flags) in nfs42_alloc_layouterror_data() argument 682 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_alloc_layouterror_data() 688 data->lseg = pnfs_get_lseg(lseg); in nfs42_alloc_layouterror_data() 689 if (data->lseg) in nfs42_alloc_layouterror_data() 701 pnfs_put_lseg(data->lseg); in nfs42_free_layouterror_data() 712 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_prepare() 734 struct pnfs_layout_hdr *lo = data->lseg->pls_layout; in nfs42_layouterror_done() 801 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg, in nfs42_proc_layouterror() argument 804 struct inode *inode = lseg->pls_layout->plh_inode; in nfs42_proc_layouterror() 821 data = nfs42_alloc_layouterror_data(lseg, GFP_NOFS); in nfs42_proc_layouterror()
|
D | nfs4trace.h | 1894 struct pnfs_layout_segment *lseg, 1897 TP_ARGS(inode, pos, count, iomode, lo, lseg, reason), 1907 __field(long, lseg) 1927 __entry->lseg = (long)lseg; 1940 __entry->lseg, 1951 struct pnfs_layout_segment *lseg 1953 TP_ARGS(inode, pos, count, iomode, lo, lseg), 1963 __field(long, lseg) 1981 __entry->lseg = (long)lseg; 1994 __entry->lseg [all …]
|
D | pnfs_nfs.c | 56 pnfs_put_lseg(data->lseg); in pnfs_generic_commit_release() 227 data->lseg = bucket->clseg; in pnfs_fetch_commit_bucket_list() 305 nfs_init_commit(data, &pages, data->lseg, cinfo); in pnfs_generic_commit_pagelist() 928 struct pnfs_layout_segment *lseg, in pnfs_layout_mark_request_commit() argument 939 if (!pnfs_is_valid_lseg(lseg)) { in pnfs_layout_mark_request_commit() 951 buckets[ds_commit_idx].wlseg = pnfs_get_lseg(lseg); in pnfs_layout_mark_request_commit()
|
D | write.c | 947 nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, in nfs_mark_request_commit() argument 950 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit() 985 return hdr->lseg == NULL; in nfs_write_need_commit() 1017 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion() 1729 struct pnfs_layout_segment *lseg, in nfs_init_commit() argument 1743 data->lseg = lseg; /* reference transferred */ in nfs_init_commit() 1745 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()
|
D | nfs42.h | 23 int nfs42_proc_layouterror(struct pnfs_layout_segment *lseg,
|
D | internal.h | 482 struct pnfs_layout_segment *lseg, 490 struct pnfs_layout_segment *lseg, 498 struct pnfs_layout_segment *lseg,
|
D | direct.c | 800 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
|
D | nfs4proc.c | 9249 struct pnfs_layout_segment *lseg = NULL; in nfs4_proc_layoutget() local 9277 lseg = pnfs_layout_process(lgp); in nfs4_proc_layoutget() 9289 return lseg; in nfs4_proc_layoutget()
|
/fs/nfs/filelayout/ |
D | filelayout.c | 73 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 …]
|
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 | 341 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 …]
|
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 | 194 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() 680 struct pnfs_layout_segment *lseg; in bl_alloc_lseg() local 691 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()
|