/linux-4.1.27/fs/nfs/flexfilelayout/ |
D | flexfilelayout.h | 79 FF_LAYOUT_LSEG(struct pnfs_layout_segment *lseg) in FF_LAYOUT_LSEG() argument 81 return container_of(lseg, in FF_LAYOUT_LSEG() 87 FF_LAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg, u32 idx) in FF_LAYOUT_DEVID_NODE() argument 89 if (idx >= FF_LAYOUT_LSEG(lseg)->mirror_array_cnt || in FF_LAYOUT_DEVID_NODE() 90 FF_LAYOUT_LSEG(lseg)->mirror_array[idx] == NULL || in FF_LAYOUT_DEVID_NODE() 91 FF_LAYOUT_LSEG(lseg)->mirror_array[idx]->mirror_ds == NULL) in FF_LAYOUT_DEVID_NODE() 93 return &FF_LAYOUT_LSEG(lseg)->mirror_array[idx]->mirror_ds->id_node; in FF_LAYOUT_DEVID_NODE() 103 FF_LAYOUT_COMP(struct pnfs_layout_segment *lseg, u32 idx) in FF_LAYOUT_COMP() argument 105 if (idx >= FF_LAYOUT_LSEG(lseg)->mirror_array_cnt) in FF_LAYOUT_COMP() 107 return FF_LAYOUT_LSEG(lseg)->mirror_array[idx]; in FF_LAYOUT_COMP() [all …]
|
D | flexfilelayout.c | 366 struct pnfs_layout_segment *lseg; in ff_layout_has_rw_segments() local 368 list_for_each_entry(lseg, &layout->plh_segs, pls_list) in ff_layout_has_rw_segments() 369 if (lseg->pls_range.iomode == IOMODE_RW) in ff_layout_has_rw_segments() 376 ff_layout_free_lseg(struct pnfs_layout_segment *lseg) in ff_layout_free_lseg() argument 378 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in ff_layout_free_lseg() 394 if (lseg->pls_range.iomode == IOMODE_RW) { in ff_layout_free_lseg() 398 ffl = FF_LAYOUT_FROM_HDR(lseg->pls_layout); in ff_layout_free_lseg() 401 if (!ff_layout_has_rw_segments(lseg->pls_layout)) { in ff_layout_free_lseg() 419 ff_layout_alloc_commit_info(struct pnfs_layout_segment *lseg, in ff_layout_alloc_commit_info() argument 423 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in ff_layout_alloc_commit_info() [all …]
|
D | flexfilelayoutdev.c | 335 nfs4_ff_layout_select_ds_fh(struct pnfs_layout_segment *lseg, u32 mirror_idx) in nfs4_ff_layout_select_ds_fh() argument 337 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, mirror_idx); in nfs4_ff_layout_select_ds_fh() 360 nfs4_ff_layout_prepare_ds(struct pnfs_layout_segment *lseg, u32 ds_idx, in nfs4_ff_layout_prepare_ds() argument 363 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, ds_idx); in nfs4_ff_layout_prepare_ds() 366 struct inode *ino = lseg->pls_layout->plh_inode; in nfs4_ff_layout_prepare_ds() 413 ff_layout_track_ds_error(FF_LAYOUT_FROM_HDR(lseg->pls_layout), in nfs4_ff_layout_prepare_ds() 414 mirror, lseg->pls_range.offset, in nfs4_ff_layout_prepare_ds() 415 lseg->pls_range.length, NFS4ERR_NXIO, in nfs4_ff_layout_prepare_ds() 418 pnfs_error_mark_layout_for_return(ino, lseg); in nfs4_ff_layout_prepare_ds() 419 if (ff_layout_has_available_ds(lseg)) in nfs4_ff_layout_prepare_ds() [all …]
|
/linux-4.1.27/fs/nfs/ |
D | pnfs.c | 315 init_lseg(struct pnfs_layout_hdr *lo, struct pnfs_layout_segment *lseg) in init_lseg() argument 317 INIT_LIST_HEAD(&lseg->pls_list); in init_lseg() 318 INIT_LIST_HEAD(&lseg->pls_lc_list); in init_lseg() 319 atomic_set(&lseg->pls_refcount, 1); in init_lseg() 321 set_bit(NFS_LSEG_VALID, &lseg->pls_flags); in init_lseg() 322 lseg->pls_layout = lo; in init_lseg() 325 static void pnfs_free_lseg(struct pnfs_layout_segment *lseg) in pnfs_free_lseg() argument 327 struct inode *ino = lseg->pls_layout->plh_inode; in pnfs_free_lseg() 329 NFS_SERVER(ino)->pnfs_curr_ld->free_lseg(lseg); in pnfs_free_lseg() 334 struct pnfs_layout_segment *lseg) in pnfs_layout_remove_lseg() argument [all …]
|
D | pnfs.h | 131 void (*free_lseg) (struct pnfs_layout_segment *lseg); 142 struct pnfs_layout_segment *lseg, 231 void pnfs_put_lseg(struct pnfs_layout_segment *lseg); 232 void pnfs_put_lseg_locked(struct pnfs_layout_segment *lseg); 244 void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg); 292 struct pnfs_layout_segment *lseg); 354 struct pnfs_layout_segment *lseg, 391 pnfs_get_lseg(struct pnfs_layout_segment *lseg) in pnfs_get_lseg() argument 393 if (lseg) { in pnfs_get_lseg() 394 atomic_inc(&lseg->pls_refcount); in pnfs_get_lseg() [all …]
|
D | pnfs_nfs.c | 56 pnfs_put_lseg(data->lseg); in pnfs_generic_commit_release() 220 data->lseg = bucket->clseg; in pnfs_generic_alloc_ds_commits() 246 data->lseg = NULL; in pnfs_generic_commit_pagelist() 268 if (!data->lseg) { in pnfs_generic_commit_pagelist() 279 data->lseg, in pnfs_generic_commit_pagelist() 849 struct pnfs_layout_segment *lseg, in pnfs_layout_mark_request_commit() argument 867 buckets[ds_commit_idx].wlseg = pnfs_get_lseg(lseg); in pnfs_layout_mark_request_commit()
|
D | write.c | 844 nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, in nfs_mark_request_commit() argument 847 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit() 878 return hdr->lseg == NULL; in nfs_write_need_commit() 903 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion() 1597 struct pnfs_layout_segment *lseg, in nfs_init_commit() argument 1610 data->lseg = lseg; /* reference transferred */ in nfs_init_commit() 1612 if (lseg) in nfs_init_commit() 1630 struct pnfs_layout_segment *lseg, in nfs_retry_commit() argument 1639 nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); in nfs_retry_commit()
|
D | internal.h | 450 struct pnfs_layout_segment *lseg, 458 struct pnfs_layout_segment *lseg, 466 struct pnfs_layout_segment *lseg,
|
D | direct.c | 816 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
|
D | nfs4proc.c | 7810 struct pnfs_layout_segment *lseg = NULL; in nfs4_proc_layoutget() local 7842 lseg = pnfs_layout_process(lgp); in nfs4_proc_layoutget() 7847 return lseg; in nfs4_proc_layoutget()
|
/linux-4.1.27/fs/nfs/filelayout/ |
D | filelayout.h | 81 FILELAYOUT_LSEG(struct pnfs_layout_segment *lseg) in FILELAYOUT_LSEG() argument 83 return container_of(lseg, in FILELAYOUT_LSEG() 89 FILELAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg) in FILELAYOUT_DEVID_NODE() argument 91 return &FILELAYOUT_LSEG(lseg)->dsaddr->id_node; in FILELAYOUT_DEVID_NODE() 104 nfs4_fl_select_ds_fh(struct pnfs_layout_segment *lseg, u32 j); 106 u32 nfs4_fl_calc_j_index(struct pnfs_layout_segment *lseg, loff_t offset); 107 u32 nfs4_fl_calc_ds_index(struct pnfs_layout_segment *lseg, u32 j); 108 struct nfs4_pnfs_ds *nfs4_fl_prepare_ds(struct pnfs_layout_segment *lseg,
|
D | filelayout.c | 72 filelayout_get_dserver_offset(struct pnfs_layout_segment *lseg, loff_t offset) in filelayout_get_dserver_offset() argument 74 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg); in filelayout_get_dserver_offset() 124 struct pnfs_layout_segment *lseg) in filelayout_async_handle_error() argument 126 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() 203 pnfs_error_mark_layout_for_return(inode, lseg); in filelayout_async_handle_error() 234 hdr->ds_clp, hdr->lseg); in filelayout_read_done_cb() 257 if (FILELAYOUT_LSEG(hdr->lseg)->commit_through_mds || in filelayout_set_layoutcommit() 261 pnfs_set_layoutcommit(hdr->inode, hdr->lseg, in filelayout_set_layoutcommit() 275 filelayout_reset_to_mds(struct pnfs_layout_segment *lseg) in filelayout_reset_to_mds() argument [all …]
|
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-4.1.27/fs/nfs/objlayout/ |
D | objio_osd.c | 64 struct pnfs_layout_segment lseg; member 71 OBJIO_LSEG(struct pnfs_layout_segment *lseg) in OBJIO_LSEG() argument 73 return container_of(lseg, struct objio_segment, lseg); in OBJIO_LSEG() 189 struct objio_segment *lseg; in __alloc_objio_seg() local 190 size_t lseg_size = sizeof(*lseg) + in __alloc_objio_seg() 191 numdevs * sizeof(lseg->oc.ods[0]) + in __alloc_objio_seg() 192 numdevs * sizeof(*lseg->oc.comps); in __alloc_objio_seg() 194 lseg = kzalloc(lseg_size, gfp_flags); in __alloc_objio_seg() 195 if (unlikely(!lseg)) { in __alloc_objio_seg() 201 lseg->oc.numdevs = numdevs; in __alloc_objio_seg() [all …]
|
D | objlayout.c | 95 struct pnfs_layout_segment *lseg; in objlayout_alloc_lseg() local 106 status = objio_alloc_lseg(&lseg, pnfslay, &lgr->range, &stream, gfp_flags); in objlayout_alloc_lseg() 115 dprintk("%s: Return %p\n", __func__, lseg); in objlayout_alloc_lseg() 116 return lseg; in objlayout_alloc_lseg() 129 objlayout_free_lseg(struct pnfs_layout_segment *lseg) in objlayout_free_lseg() argument 131 dprintk("%s: freeing layout segment %p\n", __func__, lseg); in objlayout_free_lseg() 133 if (unlikely(!lseg)) in objlayout_free_lseg() 136 objio_free_lseg(lseg); in objlayout_free_lseg() 151 static void _fix_verify_io_params(struct pnfs_layout_segment *lseg, in _fix_verify_io_params() argument 157 BUG_ON(offset < lseg->pls_range.offset); in _fix_verify_io_params() [all …]
|
D | objlayout.h | 115 extern void objio_free_lseg(struct pnfs_layout_segment *lseg);
|
/linux-4.1.27/Documentation/filesystems/nfs/ |
D | pnfs.txt | 14 pnfs_layout_segment, usually referred to by the variable name lseg. 20 LAYOUTCOMMIT), and for each lseg held within. 24 the reference count, as the layout is kept around by the lseg that 33 the lifetime of each lseg referencing them. 50 lseg 52 lseg maintains an extra reference corresponding to the NFS_LSEG_VALID 53 bit which holds it in the pnfs_layout_hdr's list. When the final lseg
|
/linux-4.1.27/fs/nfs/blocklayout/ |
D | blocklayout.c | 195 pnfs_set_lo_fail(header->lseg); in bl_end_io_read() 225 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_read_pagelist() 328 pnfs_set_lo_fail(header->lseg); in bl_end_io_write() 346 struct pnfs_block_layout *bl = BLK_LSEG2EXT(hdr->lseg); in bl_write_cleanup() 372 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_write_pagelist() 471 static void bl_free_lseg(struct pnfs_layout_segment *lseg) in bl_free_lseg() argument 474 kfree(lseg); in bl_free_lseg() 610 struct pnfs_layout_segment *lseg; in bl_alloc_lseg() local 621 lseg = kzalloc(sizeof(*lseg), gfp_mask); in bl_alloc_lseg() 622 if (!lseg) in bl_alloc_lseg() [all …]
|
D | blocklayout.h | 160 BLK_LSEG2EXT(struct pnfs_layout_segment *lseg) in BLK_LSEG2EXT() argument 162 return BLK_LO2EXT(lseg->pls_layout); in BLK_LSEG2EXT()
|
/linux-4.1.27/arch/x86/kernel/ |
D | module.c | 235 void *lseg = (void *)locks->sh_addr; in module_finalize() local 238 lseg, lseg + locks->sh_size, in module_finalize()
|
/linux-4.1.27/include/linux/ |
D | nfs_xdr.h | 1328 struct pnfs_layout_segment *lseg; member 1392 struct pnfs_layout_segment *lseg; member
|