Lines Matching refs:bs

733 		      struct ext4_xattr_block_find *bs)  in ext4_xattr_block_find()  argument
743 bs->bh = sb_bread(sb, EXT4_I(inode)->i_file_acl); in ext4_xattr_block_find()
745 if (!bs->bh) in ext4_xattr_block_find()
747 ea_bdebug(bs->bh, "b_count=%d, refcount=%d", in ext4_xattr_block_find()
748 atomic_read(&(bs->bh->b_count)), in ext4_xattr_block_find()
749 le32_to_cpu(BHDR(bs->bh)->h_refcount)); in ext4_xattr_block_find()
750 if (ext4_xattr_check_block(inode, bs->bh)) { in ext4_xattr_block_find()
757 bs->s.base = BHDR(bs->bh); in ext4_xattr_block_find()
758 bs->s.first = BFIRST(bs->bh); in ext4_xattr_block_find()
759 bs->s.end = bs->bh->b_data + bs->bh->b_size; in ext4_xattr_block_find()
760 bs->s.here = bs->s.first; in ext4_xattr_block_find()
761 error = ext4_xattr_find_entry(&bs->s.here, i->name_index, in ext4_xattr_block_find()
762 i->name, bs->bh->b_size, 1); in ext4_xattr_block_find()
765 bs->s.not_found = error; in ext4_xattr_block_find()
776 struct ext4_xattr_block_find *bs) in ext4_xattr_block_set() argument
780 struct ext4_xattr_search *s = &bs->s; in ext4_xattr_block_set()
790 ce = mb_cache_entry_get(ext4_mb_cache, bs->bh->b_bdev, in ext4_xattr_block_set()
791 bs->bh->b_blocknr); in ext4_xattr_block_set()
792 BUFFER_TRACE(bs->bh, "get_write_access"); in ext4_xattr_block_set()
793 error = ext4_journal_get_write_access(handle, bs->bh); in ext4_xattr_block_set()
796 lock_buffer(bs->bh); in ext4_xattr_block_set()
803 ea_bdebug(bs->bh, "modifying in-place"); in ext4_xattr_block_set()
810 bs->bh); in ext4_xattr_block_set()
812 unlock_buffer(bs->bh); in ext4_xattr_block_set()
818 bs->bh); in ext4_xattr_block_set()
823 int offset = (char *)s->here - bs->bh->b_data; in ext4_xattr_block_set()
825 unlock_buffer(bs->bh); in ext4_xattr_block_set()
830 ea_bdebug(bs->bh, "cloning"); in ext4_xattr_block_set()
831 s->base = kmalloc(bs->bh->b_size, GFP_NOFS); in ext4_xattr_block_set()
835 memcpy(s->base, BHDR(bs->bh), bs->bh->b_size); in ext4_xattr_block_set()
839 s->end = s->base + bs->bh->b_size; in ext4_xattr_block_set()
869 if (new_bh == bs->bh) in ext4_xattr_block_set()
896 } else if (bs->bh && s->base == bs->bh->b_data) { in ext4_xattr_block_set()
898 ea_bdebug(bs->bh, "keeping this block"); in ext4_xattr_block_set()
899 new_bh = bs->bh; in ext4_xattr_block_set()
953 if (bs->bh && bs->bh != new_bh) in ext4_xattr_block_set()
954 ext4_xattr_release_block(handle, inode, bs->bh); in ext4_xattr_block_set()
961 if (!(bs->bh && s->base == bs->bh->b_data)) in ext4_xattr_block_set()
1097 struct ext4_xattr_block_find bs = { in ext4_xattr_set_handle() local
1125 error = ext4_xattr_block_find(inode, &i, &bs); in ext4_xattr_set_handle()
1128 if (is.s.not_found && bs.s.not_found) { in ext4_xattr_set_handle()
1143 else if (!bs.s.not_found) in ext4_xattr_set_handle()
1144 error = ext4_xattr_block_set(handle, inode, &i, &bs); in ext4_xattr_set_handle()
1147 if (!error && !bs.s.not_found) { in ext4_xattr_set_handle()
1149 error = ext4_xattr_block_set(handle, inode, &i, &bs); in ext4_xattr_set_handle()
1151 if (EXT4_I(inode)->i_file_acl && !bs.s.base) { in ext4_xattr_set_handle()
1152 error = ext4_xattr_block_find(inode, &i, &bs); in ext4_xattr_set_handle()
1156 error = ext4_xattr_block_set(handle, inode, &i, &bs); in ext4_xattr_set_handle()
1183 brelse(bs.bh); in ext4_xattr_set_handle()
1262 struct ext4_xattr_block_find *bs = NULL; in ext4_expand_extra_isize_ea() local
1350 bs = kzalloc(sizeof(struct ext4_xattr_block_find), GFP_NOFS); in ext4_expand_extra_isize_ea()
1351 if (!is || !bs) { in ext4_expand_extra_isize_ea()
1357 bs->s.not_found = -ENODATA; in ext4_expand_extra_isize_ea()
1359 bs->bh = NULL; in ext4_expand_extra_isize_ea()
1387 kfree(bs); bs = NULL; in ext4_expand_extra_isize_ea()
1444 error = ext4_xattr_block_find(inode, &i, bs); in ext4_expand_extra_isize_ea()
1449 error = ext4_xattr_block_set(handle, inode, &i, bs); in ext4_expand_extra_isize_ea()
1458 kfree(bs); in ext4_expand_extra_isize_ea()
1470 kfree(bs); in ext4_expand_extra_isize_ea()