Lines Matching full:bl
256 ext_tree_insert(struct pnfs_block_layout *bl, struct pnfs_block_extent *new) in ext_tree_insert() argument
265 root = &bl->bl_ext_rw; in ext_tree_insert()
269 root = &bl->bl_ext_ro; in ext_tree_insert()
276 spin_lock(&bl->bl_ext_lock); in ext_tree_insert()
318 spin_unlock(&bl->bl_ext_lock); in ext_tree_insert()
346 ext_tree_lookup(struct pnfs_block_layout *bl, sector_t isect, in ext_tree_lookup() argument
351 spin_lock(&bl->bl_ext_lock); in ext_tree_lookup()
353 found = __ext_tree_lookup(&bl->bl_ext_ro, isect, ret); in ext_tree_lookup()
355 found = __ext_tree_lookup(&bl->bl_ext_rw, isect, ret); in ext_tree_lookup()
356 spin_unlock(&bl->bl_ext_lock); in ext_tree_lookup()
361 int ext_tree_remove(struct pnfs_block_layout *bl, bool rw, in ext_tree_remove() argument
367 spin_lock(&bl->bl_ext_lock); in ext_tree_remove()
368 err = __ext_tree_remove(&bl->bl_ext_ro, start, end, &tmp); in ext_tree_remove()
370 err2 = __ext_tree_remove(&bl->bl_ext_rw, start, end, &tmp); in ext_tree_remove()
374 spin_unlock(&bl->bl_ext_lock); in ext_tree_remove()
406 ext_tree_mark_written(struct pnfs_block_layout *bl, sector_t start, in ext_tree_mark_written() argument
409 struct rb_root *root = &bl->bl_ext_rw; in ext_tree_mark_written()
415 spin_lock(&bl->bl_ext_lock); in ext_tree_mark_written()
419 err = __ext_tree_remove(&bl->bl_ext_ro, start, end, &tmp); in ext_tree_mark_written()
476 if (bl->bl_lwb < lwb) in ext_tree_mark_written()
477 bl->bl_lwb = lwb; in ext_tree_mark_written()
478 spin_unlock(&bl->bl_ext_lock); in ext_tree_mark_written()
484 static size_t ext_tree_layoutupdate_size(struct pnfs_block_layout *bl, size_t count) in ext_tree_layoutupdate_size() argument
486 if (bl->bl_scsi_layout) in ext_tree_layoutupdate_size()
526 * @bl: pointer to the layout
537 ext_tree_try_encode_commit(struct pnfs_block_layout *bl, __be32 *p, in ext_tree_try_encode_commit() argument
542 spin_lock(&bl->bl_ext_lock); in ext_tree_try_encode_commit()
543 for (be = ext_tree_first(&bl->bl_ext_rw); be; be = ext_tree_next(be)) { in ext_tree_try_encode_commit()
549 if (ext_tree_layoutupdate_size(bl, *count) > buffer_size) { in ext_tree_try_encode_commit()
550 spin_unlock(&bl->bl_ext_lock); in ext_tree_try_encode_commit()
554 for (be = ext_tree_first(&bl->bl_ext_rw); be; be = ext_tree_next(be)) { in ext_tree_try_encode_commit()
559 if (bl->bl_scsi_layout) in ext_tree_try_encode_commit()
565 *lastbyte = (bl->bl_lwb != 0) ? bl->bl_lwb - 1 : U64_MAX; in ext_tree_try_encode_commit()
566 bl->bl_lwb = 0; in ext_tree_try_encode_commit()
567 spin_unlock(&bl->bl_ext_lock); in ext_tree_try_encode_commit()
574 * @bl: pointer to the layout
585 ext_tree_encode_commit(struct pnfs_block_layout *bl, __be32 *p, in ext_tree_encode_commit() argument
591 spin_lock(&bl->bl_ext_lock); in ext_tree_encode_commit()
592 for (be = ext_tree_first(&bl->bl_ext_rw); be; be = ext_tree_next(be)) { in ext_tree_encode_commit()
598 if (ext_tree_layoutupdate_size(bl, *count) > buffer_size) { in ext_tree_encode_commit()
604 if (bl->bl_scsi_layout) in ext_tree_encode_commit()
612 *lastbyte = (bl->bl_lwb != 0) ? bl->bl_lwb - 1 : U64_MAX; in ext_tree_encode_commit()
613 bl->bl_lwb = 0; in ext_tree_encode_commit()
619 spin_unlock(&bl->bl_ext_lock); in ext_tree_encode_commit()
636 struct pnfs_block_layout *bl = BLK_LO2EXT(NFS_I(arg->inode)->layout); in ext_tree_prepare_commit() local
647 ret = ext_tree_try_encode_commit(bl, start_p + 1, buffer_size, in ext_tree_prepare_commit()
667 ret = ext_tree_encode_commit(bl, start_p + 1, buffer_size, in ext_tree_prepare_commit()
672 arg->layoutupdate_len = ext_tree_layoutupdate_size(bl, count); in ext_tree_prepare_commit()
695 struct pnfs_block_layout *bl = BLK_LO2EXT(NFS_I(arg->inode)->layout); in ext_tree_mark_committed() local
696 struct rb_root *root = &bl->bl_ext_rw; in ext_tree_mark_committed()
703 spin_lock(&bl->bl_ext_lock); in ext_tree_mark_committed()
724 spin_unlock(&bl->bl_ext_lock); in ext_tree_mark_committed()