Home
last modified time | relevance | path

Searched refs:lseg (Results 1 – 21 of 21) sorted by relevance

/linux-4.4.14/fs/nfs/flexfilelayout/
Dflexfilelayout.h112 FF_LAYOUT_LSEG(struct pnfs_layout_segment *lseg) in FF_LAYOUT_LSEG() argument
114 return container_of(lseg, in FF_LAYOUT_LSEG()
120 FF_LAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg, u32 idx) in FF_LAYOUT_DEVID_NODE() argument
122 if (idx >= FF_LAYOUT_LSEG(lseg)->mirror_array_cnt || in FF_LAYOUT_DEVID_NODE()
123 FF_LAYOUT_LSEG(lseg)->mirror_array[idx] == NULL || in FF_LAYOUT_DEVID_NODE()
124 FF_LAYOUT_LSEG(lseg)->mirror_array[idx]->mirror_ds == NULL) in FF_LAYOUT_DEVID_NODE()
126 return &FF_LAYOUT_LSEG(lseg)->mirror_array[idx]->mirror_ds->id_node; in FF_LAYOUT_DEVID_NODE()
136 FF_LAYOUT_COMP(struct pnfs_layout_segment *lseg, u32 idx) in FF_LAYOUT_COMP() argument
138 if (idx >= FF_LAYOUT_LSEG(lseg)->mirror_array_cnt) in FF_LAYOUT_COMP()
140 return FF_LAYOUT_LSEG(lseg)->mirror_array[idx]; in FF_LAYOUT_COMP()
[all …]
Dflexfilelayoutdev.c175 static void ff_layout_mark_devid_invalid(struct pnfs_layout_segment *lseg, in ff_layout_mark_devid_invalid() argument
179 if (!ff_layout_has_available_ds(lseg)) in ff_layout_mark_devid_invalid()
180 pnfs_error_mark_layout_for_return(lseg->pls_layout->plh_inode, in ff_layout_mark_devid_invalid()
181 lseg); in ff_layout_mark_devid_invalid()
184 static bool ff_layout_mirror_valid(struct pnfs_layout_segment *lseg, in ff_layout_mirror_valid() argument
188 pnfs_error_mark_layout_for_return(lseg->pls_layout->plh_inode, in ff_layout_mirror_valid()
189 lseg); in ff_layout_mirror_valid()
195 ff_layout_mark_devid_invalid(lseg, devid); in ff_layout_mirror_valid()
361 nfs4_ff_layout_select_ds_fh(struct pnfs_layout_segment *lseg, u32 mirror_idx) in nfs4_ff_layout_select_ds_fh() argument
363 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, mirror_idx); in nfs4_ff_layout_select_ds_fh()
[all …]
Dflexfilelayout.c320 struct pnfs_layout_segment *lseg, in ff_layout_add_lseg() argument
323 pnfs_generic_layout_insert_lseg(lo, lseg, in ff_layout_add_lseg()
531 struct pnfs_layout_segment *lseg; in ff_layout_has_rw_segments() local
533 list_for_each_entry(lseg, &layout->plh_segs, pls_list) in ff_layout_has_rw_segments()
534 if (lseg->pls_range.iomode == IOMODE_RW) in ff_layout_has_rw_segments()
541 ff_layout_free_lseg(struct pnfs_layout_segment *lseg) in ff_layout_free_lseg() argument
543 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg); in ff_layout_free_lseg()
547 if (lseg->pls_range.iomode == IOMODE_RW) { in ff_layout_free_lseg()
551 ffl = FF_LAYOUT_FROM_HDR(lseg->pls_layout); in ff_layout_free_lseg()
554 if (!ff_layout_has_rw_segments(lseg->pls_layout)) { in ff_layout_free_lseg()
[all …]
/linux-4.4.14/fs/nfs/
Dpnfs.c316 init_lseg(struct pnfs_layout_hdr *lo, struct pnfs_layout_segment *lseg) in init_lseg() argument
318 INIT_LIST_HEAD(&lseg->pls_list); in init_lseg()
319 INIT_LIST_HEAD(&lseg->pls_lc_list); in init_lseg()
320 atomic_set(&lseg->pls_refcount, 1); in init_lseg()
322 set_bit(NFS_LSEG_VALID, &lseg->pls_flags); in init_lseg()
323 lseg->pls_layout = lo; in init_lseg()
326 static void pnfs_free_lseg(struct pnfs_layout_segment *lseg) in pnfs_free_lseg() argument
328 struct inode *ino = lseg->pls_layout->plh_inode; in pnfs_free_lseg()
330 NFS_SERVER(ino)->pnfs_curr_ld->free_lseg(lseg); in pnfs_free_lseg()
335 struct pnfs_layout_segment *lseg) in pnfs_layout_remove_lseg() argument
[all …]
Dpnfs.h130 void (*free_lseg) (struct pnfs_layout_segment *lseg);
132 struct pnfs_layout_segment *lseg,
144 struct pnfs_layout_segment *lseg,
235 void pnfs_put_lseg(struct pnfs_layout_segment *lseg);
236 void pnfs_put_lseg_locked(struct pnfs_layout_segment *lseg);
248 void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg);
293 struct pnfs_layout_segment *lseg,
296 bool (*do_merge)(struct pnfs_layout_segment *lseg,
305 struct pnfs_layout_segment *lseg);
366 struct pnfs_layout_segment *lseg,
[all …]
Dpnfs_nfs.c56 pnfs_put_lseg(data->lseg); in pnfs_generic_commit_release()
243 data->lseg = bucket->clseg; in pnfs_fetch_commit_bucket_list()
294 nfs_init_commit(data, &pages, data->lseg, cinfo); in pnfs_generic_commit_pagelist()
863 struct pnfs_layout_segment *lseg, in pnfs_layout_mark_request_commit() argument
881 buckets[ds_commit_idx].wlseg = pnfs_get_lseg(lseg); in pnfs_layout_mark_request_commit()
Dwrite.c863 nfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg, in nfs_mark_request_commit() argument
866 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit()
898 return hdr->lseg == NULL; in nfs_write_need_commit()
923 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion()
1619 struct pnfs_layout_segment *lseg, in nfs_init_commit() argument
1632 data->lseg = lseg; /* reference transferred */ in nfs_init_commit()
1634 if (lseg) in nfs_init_commit()
1652 struct pnfs_layout_segment *lseg, in nfs_retry_commit() argument
1661 nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); in nfs_retry_commit()
Dinternal.h466 struct pnfs_layout_segment *lseg,
474 struct pnfs_layout_segment *lseg,
482 struct pnfs_layout_segment *lseg,
Ddirect.c819 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
Dnfs4proc.c7968 struct pnfs_layout_segment *lseg = NULL; in nfs4_proc_layoutget() local
8000 lseg = pnfs_layout_process(lgp); in nfs4_proc_layoutget()
8005 return lseg; in nfs4_proc_layoutget()
/linux-4.4.14/fs/nfs/filelayout/
Dfilelayout.h81 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,
Dfilelayout.c73 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()
130 struct nfs4_deviceid_node *devid = FILELAYOUT_DEVID_NODE(lseg); in filelayout_async_handle_error()
204 pnfs_error_mark_layout_for_return(inode, lseg); in filelayout_async_handle_error()
235 hdr->ds_clp, hdr->lseg); in filelayout_read_done_cb()
258 if (FILELAYOUT_LSEG(hdr->lseg)->commit_through_mds || in filelayout_set_layoutcommit()
262 pnfs_set_layoutcommit(hdr->inode, hdr->lseg, in filelayout_set_layoutcommit()
276 filelayout_reset_to_mds(struct pnfs_layout_segment *lseg) in filelayout_reset_to_mds() argument
[all …]
Dfilelayoutdev.c224 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.4.14/fs/nfs/objlayout/
Dobjio_osd.c64 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 …]
Dobjlayout.c95 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 …]
Dobjlayout.h115 extern void objio_free_lseg(struct pnfs_layout_segment *lseg);
/linux-4.4.14/Documentation/filesystems/nfs/
Dpnfs.txt14 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.4.14/fs/nfs/blocklayout/
Dblocklayout.c194 pnfs_set_lo_fail(header->lseg); in bl_end_io_read()
224 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_read_pagelist()
323 pnfs_set_lo_fail(header->lseg); in bl_end_io_write()
341 struct pnfs_block_layout *bl = BLK_LSEG2EXT(hdr->lseg); in bl_write_cleanup()
367 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_write_pagelist()
466 static void bl_free_lseg(struct pnfs_layout_segment *lseg) in bl_free_lseg() argument
469 kfree(lseg); in bl_free_lseg()
605 struct pnfs_layout_segment *lseg; in bl_alloc_lseg() local
616 lseg = kzalloc(sizeof(*lseg), gfp_mask); in bl_alloc_lseg()
617 if (!lseg) in bl_alloc_lseg()
[all …]
Dblocklayout.h143 BLK_LSEG2EXT(struct pnfs_layout_segment *lseg) in BLK_LSEG2EXT() argument
145 return BLK_LO2EXT(lseg->pls_layout); in BLK_LSEG2EXT()
/linux-4.4.14/arch/x86/kernel/
Dmodule.c235 void *lseg = (void *)locks->sh_addr; in module_finalize() local
238 lseg, lseg + locks->sh_size, in module_finalize()
/linux-4.4.14/include/linux/
Dnfs_xdr.h1386 struct pnfs_layout_segment *lseg; member
1450 struct pnfs_layout_segment *lseg; member