Lines Matching refs:bs

632 		      struct ext3_xattr_block_find *bs)  in ext3_xattr_block_find()  argument
642 bs->bh = sb_bread(sb, EXT3_I(inode)->i_file_acl); in ext3_xattr_block_find()
644 if (!bs->bh) in ext3_xattr_block_find()
646 ea_bdebug(bs->bh, "b_count=%d, refcount=%d", in ext3_xattr_block_find()
647 atomic_read(&(bs->bh->b_count)), in ext3_xattr_block_find()
648 le32_to_cpu(BHDR(bs->bh)->h_refcount)); in ext3_xattr_block_find()
649 if (ext3_xattr_check_block(bs->bh)) { in ext3_xattr_block_find()
657 bs->s.base = BHDR(bs->bh); in ext3_xattr_block_find()
658 bs->s.first = BFIRST(bs->bh); in ext3_xattr_block_find()
659 bs->s.end = bs->bh->b_data + bs->bh->b_size; in ext3_xattr_block_find()
660 bs->s.here = bs->s.first; in ext3_xattr_block_find()
661 error = ext3_xattr_find_entry(&bs->s.here, i->name_index, in ext3_xattr_block_find()
662 i->name, bs->bh->b_size, 1); in ext3_xattr_block_find()
665 bs->s.not_found = error; in ext3_xattr_block_find()
676 struct ext3_xattr_block_find *bs) in ext3_xattr_block_set() argument
680 struct ext3_xattr_search *s = &bs->s; in ext3_xattr_block_set()
689 ce = mb_cache_entry_get(ext3_xattr_cache, bs->bh->b_bdev, in ext3_xattr_block_set()
690 bs->bh->b_blocknr); in ext3_xattr_block_set()
691 error = ext3_journal_get_write_access(handle, bs->bh); in ext3_xattr_block_set()
694 lock_buffer(bs->bh); in ext3_xattr_block_set()
701 ea_bdebug(bs->bh, "modifying in-place"); in ext3_xattr_block_set()
707 ext3_xattr_cache_insert(bs->bh); in ext3_xattr_block_set()
709 unlock_buffer(bs->bh); in ext3_xattr_block_set()
714 bs->bh); in ext3_xattr_block_set()
719 int offset = (char *)s->here - bs->bh->b_data; in ext3_xattr_block_set()
721 unlock_buffer(bs->bh); in ext3_xattr_block_set()
722 journal_release_buffer(handle, bs->bh); in ext3_xattr_block_set()
728 ea_bdebug(bs->bh, "cloning"); in ext3_xattr_block_set()
729 s->base = kmalloc(bs->bh->b_size, GFP_NOFS); in ext3_xattr_block_set()
733 memcpy(s->base, BHDR(bs->bh), bs->bh->b_size); in ext3_xattr_block_set()
737 s->end = s->base + bs->bh->b_size; in ext3_xattr_block_set()
767 if (new_bh == bs->bh) in ext3_xattr_block_set()
791 } else if (bs->bh && s->base == bs->bh->b_data) { in ext3_xattr_block_set()
793 ea_bdebug(bs->bh, "keeping this block"); in ext3_xattr_block_set()
794 new_bh = bs->bh; in ext3_xattr_block_set()
841 if (bs->bh && bs->bh != new_bh) in ext3_xattr_block_set()
842 ext3_xattr_release_block(handle, inode, bs->bh); in ext3_xattr_block_set()
849 if (!(bs->bh && s->base == bs->bh->b_data)) in ext3_xattr_block_set()
954 struct ext3_xattr_block_find bs = { in ext3_xattr_set_handle() local
982 error = ext3_xattr_block_find(inode, &i, &bs); in ext3_xattr_set_handle()
985 if (is.s.not_found && bs.s.not_found) { in ext3_xattr_set_handle()
1000 else if (!bs.s.not_found) in ext3_xattr_set_handle()
1001 error = ext3_xattr_block_set(handle, inode, &i, &bs); in ext3_xattr_set_handle()
1004 if (!error && !bs.s.not_found) { in ext3_xattr_set_handle()
1006 error = ext3_xattr_block_set(handle, inode, &i, &bs); in ext3_xattr_set_handle()
1008 if (EXT3_I(inode)->i_file_acl && !bs.s.base) { in ext3_xattr_set_handle()
1009 error = ext3_xattr_block_find(inode, &i, &bs); in ext3_xattr_set_handle()
1013 error = ext3_xattr_block_set(handle, inode, &i, &bs); in ext3_xattr_set_handle()
1038 brelse(bs.bh); in ext3_xattr_set_handle()