Lines Matching refs:be

52 static bool is_hole(struct pnfs_block_extent *be)  in is_hole()  argument
54 switch (be->be_state) { in is_hole()
58 return be->be_tag ? false : true; in is_hole()
142 struct pnfs_block_extent *be, bio_end_io_t end_io, in do_add_page_to_bio() argument
146 container_of(be->be_device, struct pnfs_block_dev, node); in do_add_page_to_bio()
153 isect += be->be_v_offset; in do_add_page_to_bio()
154 isect -= be->be_f_offset; in do_add_page_to_bio()
227 struct pnfs_block_extent be; in bl_read_pagelist() local
258 if (!ext_tree_lookup(bl, isect, &be, false)) { in bl_read_pagelist()
262 extent_length = be.be_length - (isect - be.be_f_offset); in bl_read_pagelist()
275 if (is_hole(&be)) { in bl_read_pagelist()
287 isect, pages[i], &map, &be, in bl_read_pagelist()
370 struct pnfs_block_extent be; in bl_write_pagelist() local
403 if (!ext_tree_lookup(bl, isect, &be, true)) { in bl_write_pagelist()
408 extent_length = be.be_length - (isect - be.be_f_offset); in bl_write_pagelist()
413 WRITE, isect, pages[i], &map, &be, in bl_write_pagelist()
483 static int verify_extent(struct pnfs_block_extent *be, in verify_extent() argument
487 if (be->be_state == PNFS_BLOCK_READWRITE_DATA || in verify_extent()
488 be->be_state == PNFS_BLOCK_INVALID_DATA) in verify_extent()
490 if (be->be_f_offset != lv->start) in verify_extent()
492 lv->start += be->be_length; in verify_extent()
496 if (be->be_state == PNFS_BLOCK_READWRITE_DATA) { in verify_extent()
497 if (be->be_f_offset != lv->start) in verify_extent()
501 lv->start += be->be_length; in verify_extent()
504 } else if (be->be_state == PNFS_BLOCK_INVALID_DATA) { in verify_extent()
505 if (be->be_f_offset != lv->start) in verify_extent()
507 lv->start += be->be_length; in verify_extent()
509 } else if (be->be_state == PNFS_BLOCK_READ_DATA) { in verify_extent()
510 if (be->be_f_offset > lv->start) in verify_extent()
512 if (be->be_f_offset < lv->inval) in verify_extent()
514 if (be->be_f_offset < lv->cowread) in verify_extent()
519 lv->inval = lv->inval + be->be_length; in verify_extent()
520 lv->cowread = be->be_f_offset + be->be_length; in verify_extent()
544 struct pnfs_block_extent *be; in bl_alloc_extent() local
553 be = kzalloc(sizeof(*be), GFP_NOFS); in bl_alloc_extent()
554 if (!be) in bl_alloc_extent()
561 be->be_device = nfs4_find_get_deviceid(NFS_SERVER(lo->plh_inode), &id, in bl_alloc_extent()
563 if (!be->be_device) in bl_alloc_extent()
570 if (decode_sector_number(&p, &be->be_f_offset) < 0) in bl_alloc_extent()
572 if (decode_sector_number(&p, &be->be_length) < 0) in bl_alloc_extent()
574 if (decode_sector_number(&p, &be->be_v_offset) < 0) in bl_alloc_extent()
576 be->be_state = be32_to_cpup(p++); in bl_alloc_extent()
578 error = verify_extent(be, lv); in bl_alloc_extent()
584 list_add_tail(&be->be_list, extents); in bl_alloc_extent()
588 nfs4_put_deviceid_node(be->be_device); in bl_alloc_extent()
590 kfree(be); in bl_alloc_extent()
661 struct pnfs_block_extent *be = in bl_alloc_lseg() local
664 list_del(&be->be_list); in bl_alloc_lseg()
667 status = ext_tree_insert(bl, be); in bl_alloc_lseg()
670 nfs4_put_deviceid_node(be->be_device); in bl_alloc_lseg()
671 kfree(be); in bl_alloc_lseg()