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()
143 struct pnfs_block_extent *be, bio_end_io_t end_io, in do_add_page_to_bio() argument
147 container_of(be->be_device, struct pnfs_block_dev, node); in do_add_page_to_bio()
154 isect += be->be_v_offset; in do_add_page_to_bio()
155 isect -= be->be_f_offset; in do_add_page_to_bio()
192 struct pnfs_block_extent be; in bl_mark_devices_unavailable() local
198 if (!ext_tree_lookup(bl, isect, &be, rw)) in bl_mark_devices_unavailable()
200 extent_length = be.be_length - (isect - be.be_f_offset); in bl_mark_devices_unavailable()
201 nfs4_mark_deviceid_unavailable(be.be_device); in bl_mark_devices_unavailable()
253 struct pnfs_block_extent be; in bl_read_pagelist() local
284 if (!ext_tree_lookup(bl, isect, &be, false)) { in bl_read_pagelist()
288 extent_length = be.be_length - (isect - be.be_f_offset); in bl_read_pagelist()
301 if (is_hole(&be)) { in bl_read_pagelist()
313 isect, pages[i], &map, &be, in bl_read_pagelist()
398 struct pnfs_block_extent be; in bl_write_pagelist() local
431 if (!ext_tree_lookup(bl, isect, &be, true)) { in bl_write_pagelist()
436 extent_length = be.be_length - (isect - be.be_f_offset); in bl_write_pagelist()
441 WRITE, isect, pages[i], &map, &be, in bl_write_pagelist()
524 static int verify_extent(struct pnfs_block_extent *be, in verify_extent() argument
528 if (be->be_state == PNFS_BLOCK_READWRITE_DATA || in verify_extent()
529 be->be_state == PNFS_BLOCK_INVALID_DATA) in verify_extent()
531 if (be->be_f_offset != lv->start) in verify_extent()
533 lv->start += be->be_length; in verify_extent()
537 if (be->be_state == PNFS_BLOCK_READWRITE_DATA) { in verify_extent()
538 if (be->be_f_offset != lv->start) in verify_extent()
542 lv->start += be->be_length; in verify_extent()
545 } else if (be->be_state == PNFS_BLOCK_INVALID_DATA) { in verify_extent()
546 if (be->be_f_offset != lv->start) in verify_extent()
548 lv->start += be->be_length; in verify_extent()
550 } else if (be->be_state == PNFS_BLOCK_READ_DATA) { in verify_extent()
551 if (be->be_f_offset > lv->start) in verify_extent()
553 if (be->be_f_offset < lv->inval) in verify_extent()
555 if (be->be_f_offset < lv->cowread) in verify_extent()
560 lv->inval = lv->inval + be->be_length; in verify_extent()
561 lv->cowread = be->be_f_offset + be->be_length; in verify_extent()
610 struct pnfs_block_extent *be; in bl_alloc_extent() local
619 be = kzalloc(sizeof(*be), GFP_NOFS); in bl_alloc_extent()
620 if (!be) in bl_alloc_extent()
626 be->be_device = bl_find_get_deviceid(NFS_SERVER(lo->plh_inode), &id, in bl_alloc_extent()
628 if (IS_ERR(be->be_device)) { in bl_alloc_extent()
629 error = PTR_ERR(be->be_device); in bl_alloc_extent()
638 if (decode_sector_number(&p, &be->be_f_offset) < 0) in bl_alloc_extent()
640 if (decode_sector_number(&p, &be->be_length) < 0) in bl_alloc_extent()
642 if (decode_sector_number(&p, &be->be_v_offset) < 0) in bl_alloc_extent()
644 be->be_state = be32_to_cpup(p++); in bl_alloc_extent()
646 error = verify_extent(be, lv); in bl_alloc_extent()
652 list_add_tail(&be->be_list, extents); in bl_alloc_extent()
656 nfs4_put_deviceid_node(be->be_device); in bl_alloc_extent()
658 kfree(be); in bl_alloc_extent()
729 struct pnfs_block_extent *be = in bl_alloc_lseg() local
732 list_del(&be->be_list); in bl_alloc_lseg()
735 status = ext_tree_insert(bl, be); in bl_alloc_lseg()
738 nfs4_put_deviceid_node(be->be_device); in bl_alloc_lseg()
739 kfree(be); in bl_alloc_lseg()