• Home
  • Raw
  • Download

Lines Matching refs:bucket

127 	struct ocfs2_xattr_bucket *bucket;  member
281 struct ocfs2_xattr_bucket *bucket,
303 struct ocfs2_xattr_bucket *bucket,
324 struct ocfs2_xattr_bucket *bucket; in ocfs2_xattr_bucket_new() local
329 bucket = kzalloc(sizeof(struct ocfs2_xattr_bucket), GFP_NOFS); in ocfs2_xattr_bucket_new()
330 if (bucket) { in ocfs2_xattr_bucket_new()
331 bucket->bu_inode = inode; in ocfs2_xattr_bucket_new()
332 bucket->bu_blocks = blks; in ocfs2_xattr_bucket_new()
335 return bucket; in ocfs2_xattr_bucket_new()
338 static void ocfs2_xattr_bucket_relse(struct ocfs2_xattr_bucket *bucket) in ocfs2_xattr_bucket_relse() argument
342 for (i = 0; i < bucket->bu_blocks; i++) { in ocfs2_xattr_bucket_relse()
343 brelse(bucket->bu_bhs[i]); in ocfs2_xattr_bucket_relse()
344 bucket->bu_bhs[i] = NULL; in ocfs2_xattr_bucket_relse()
348 static void ocfs2_xattr_bucket_free(struct ocfs2_xattr_bucket *bucket) in ocfs2_xattr_bucket_free() argument
350 if (bucket) { in ocfs2_xattr_bucket_free()
351 ocfs2_xattr_bucket_relse(bucket); in ocfs2_xattr_bucket_free()
352 bucket->bu_inode = NULL; in ocfs2_xattr_bucket_free()
353 kfree(bucket); in ocfs2_xattr_bucket_free()
363 static int ocfs2_init_xattr_bucket(struct ocfs2_xattr_bucket *bucket, in ocfs2_init_xattr_bucket() argument
368 for (i = 0; i < bucket->bu_blocks; i++) { in ocfs2_init_xattr_bucket()
369 bucket->bu_bhs[i] = sb_getblk(bucket->bu_inode->i_sb, in ocfs2_init_xattr_bucket()
371 if (!bucket->bu_bhs[i]) { in ocfs2_init_xattr_bucket()
377 if (!ocfs2_buffer_uptodate(INODE_CACHE(bucket->bu_inode), in ocfs2_init_xattr_bucket()
378 bucket->bu_bhs[i])) { in ocfs2_init_xattr_bucket()
380 ocfs2_set_new_buffer_uptodate(INODE_CACHE(bucket->bu_inode), in ocfs2_init_xattr_bucket()
381 bucket->bu_bhs[i]); in ocfs2_init_xattr_bucket()
383 set_buffer_uptodate(bucket->bu_bhs[i]); in ocfs2_init_xattr_bucket()
384 ocfs2_set_buffer_uptodate(INODE_CACHE(bucket->bu_inode), in ocfs2_init_xattr_bucket()
385 bucket->bu_bhs[i]); in ocfs2_init_xattr_bucket()
391 ocfs2_xattr_bucket_relse(bucket); in ocfs2_init_xattr_bucket()
396 static int ocfs2_read_xattr_bucket(struct ocfs2_xattr_bucket *bucket, in ocfs2_read_xattr_bucket() argument
401 rc = ocfs2_read_blocks(INODE_CACHE(bucket->bu_inode), xb_blkno, in ocfs2_read_xattr_bucket()
402 bucket->bu_blocks, bucket->bu_bhs, 0, in ocfs2_read_xattr_bucket()
405 spin_lock(&OCFS2_SB(bucket->bu_inode->i_sb)->osb_xattr_lock); in ocfs2_read_xattr_bucket()
406 rc = ocfs2_validate_meta_ecc_bhs(bucket->bu_inode->i_sb, in ocfs2_read_xattr_bucket()
407 bucket->bu_bhs, in ocfs2_read_xattr_bucket()
408 bucket->bu_blocks, in ocfs2_read_xattr_bucket()
409 &bucket_xh(bucket)->xh_check); in ocfs2_read_xattr_bucket()
410 spin_unlock(&OCFS2_SB(bucket->bu_inode->i_sb)->osb_xattr_lock); in ocfs2_read_xattr_bucket()
416 ocfs2_xattr_bucket_relse(bucket); in ocfs2_read_xattr_bucket()
421 struct ocfs2_xattr_bucket *bucket, in ocfs2_xattr_bucket_journal_access() argument
426 for (i = 0; i < bucket->bu_blocks; i++) { in ocfs2_xattr_bucket_journal_access()
428 INODE_CACHE(bucket->bu_inode), in ocfs2_xattr_bucket_journal_access()
429 bucket->bu_bhs[i], type); in ocfs2_xattr_bucket_journal_access()
440 struct ocfs2_xattr_bucket *bucket) in ocfs2_xattr_bucket_journal_dirty() argument
444 spin_lock(&OCFS2_SB(bucket->bu_inode->i_sb)->osb_xattr_lock); in ocfs2_xattr_bucket_journal_dirty()
445 ocfs2_compute_meta_ecc_bhs(bucket->bu_inode->i_sb, in ocfs2_xattr_bucket_journal_dirty()
446 bucket->bu_bhs, bucket->bu_blocks, in ocfs2_xattr_bucket_journal_dirty()
447 &bucket_xh(bucket)->xh_check); in ocfs2_xattr_bucket_journal_dirty()
448 spin_unlock(&OCFS2_SB(bucket->bu_inode->i_sb)->osb_xattr_lock); in ocfs2_xattr_bucket_journal_dirty()
450 for (i = 0; i < bucket->bu_blocks; i++) in ocfs2_xattr_bucket_journal_dirty()
451 ocfs2_journal_dirty(handle, bucket->bu_bhs[i]); in ocfs2_xattr_bucket_journal_dirty()
1216 xs->bucket = ocfs2_xattr_bucket_new(inode); in ocfs2_xattr_block_get()
1217 if (!xs->bucket) { in ocfs2_xattr_block_get()
1247 bucket_xh(xs->bucket), in ocfs2_xattr_block_get()
1255 xs->base = bucket_block(xs->bucket, block_off); in ocfs2_xattr_block_get()
1273 ocfs2_xattr_bucket_free(xs->bucket); in ocfs2_xattr_block_get()
1707 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_journal_access() local
1709 return ocfs2_xattr_bucket_journal_access(handle, bucket, type); in ocfs2_xa_bucket_journal_access()
1715 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_journal_dirty() local
1717 ocfs2_xattr_bucket_journal_dirty(handle, bucket); in ocfs2_xa_bucket_journal_dirty()
1723 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_offset_pointer() local
1730 return bucket_block(bucket, block) + block_offset; in ocfs2_xa_bucket_offset_pointer()
1742 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_get_free_start() local
1743 return le16_to_cpu(bucket_xh(bucket)->xh_free_start); in ocfs2_xa_bucket_get_free_start()
1864 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_fill_value_buf() local
1874 BUG_ON(!bucket->bu_bhs[block_offset]); in ocfs2_xa_bucket_fill_value_buf()
1877 vb->vb_bh = bucket->bu_bhs[block_offset]; in ocfs2_xa_bucket_fill_value_buf()
2306 struct ocfs2_xattr_bucket *bucket, in ocfs2_init_xattr_bucket_xa_loc() argument
2309 loc->xl_inode = bucket->bu_inode; in ocfs2_init_xattr_bucket_xa_loc()
2311 loc->xl_storage = bucket; in ocfs2_init_xattr_bucket_xa_loc()
2312 loc->xl_header = bucket_xh(bucket); in ocfs2_init_xattr_bucket_xa_loc()
3094 bucket_xh(xbs->bucket), in ocfs2_calc_xattr_set_need()
3097 base = bucket_block(xbs->bucket, block_off); in ocfs2_calc_xattr_set_need()
3489 xbs.bucket = ocfs2_xattr_bucket_new(inode); in ocfs2_xattr_set_handle()
3490 if (!xbs.bucket) { in ocfs2_xattr_set_handle()
3515 ocfs2_xattr_bucket_free(xbs.bucket); in ocfs2_xattr_set_handle()
3566 xbs.bucket = ocfs2_xattr_bucket_new(inode); in ocfs2_xattr_set()
3567 if (!xbs.bucket) { in ocfs2_xattr_set()
3675 ocfs2_xattr_bucket_free(xbs.bucket); in ocfs2_xattr_set()
3745 struct ocfs2_xattr_bucket *bucket,
3749 struct ocfs2_xattr_bucket *bucket, in ocfs2_find_xe_in_bucket() argument
3757 struct ocfs2_xattr_header *xh = bucket_xh(bucket); in ocfs2_find_xe_in_bucket()
3791 xe_name = bucket_block(bucket, block_off) + new_offset; in ocfs2_find_xe_in_bucket()
3826 int low_bucket = 0, bucket, high_bucket; in ocfs2_xattr_bucket_find() local
3848 bucket = (low_bucket + high_bucket) / 2; in ocfs2_xattr_bucket_find()
3849 blkno = p_blkno + bucket * blk_per_bucket; in ocfs2_xattr_bucket_find()
3859 high_bucket = bucket - 1; in ocfs2_xattr_bucket_find()
3875 low_bucket = bucket + 1; in ocfs2_xattr_bucket_find()
3899 ret = ocfs2_read_xattr_bucket(xs->bucket, lower_blkno); in ocfs2_xattr_bucket_find()
3905 xs->header = bucket_xh(xs->bucket); in ocfs2_xattr_bucket_find()
3906 xs->base = bucket_block(xs->bucket, 0); in ocfs2_xattr_bucket_find()
3913 (unsigned long long)bucket_blkno(xs->bucket), in ocfs2_xattr_bucket_find()
3976 struct ocfs2_xattr_bucket *bucket; in ocfs2_iterate_xattr_buckets() local
3978 bucket = ocfs2_xattr_bucket_new(inode); in ocfs2_iterate_xattr_buckets()
3979 if (!bucket) { in ocfs2_iterate_xattr_buckets()
3988 for (i = 0; i < num_buckets; i++, blkno += bucket->bu_blocks) { in ocfs2_iterate_xattr_buckets()
3989 ret = ocfs2_read_xattr_bucket(bucket, blkno); in ocfs2_iterate_xattr_buckets()
4000 num_buckets = le16_to_cpu(bucket_xh(bucket)->xh_num_buckets); in ocfs2_iterate_xattr_buckets()
4003 le32_to_cpu(bucket_xh(bucket)->xh_entries[0].xe_name_hash)); in ocfs2_iterate_xattr_buckets()
4005 ret = func(inode, bucket, para); in ocfs2_iterate_xattr_buckets()
4011 ocfs2_xattr_bucket_relse(bucket); in ocfs2_iterate_xattr_buckets()
4016 ocfs2_xattr_bucket_free(bucket); in ocfs2_iterate_xattr_buckets()
4046 struct ocfs2_xattr_bucket *bucket, in ocfs2_list_xattr_bucket() argument
4054 for (i = 0 ; i < le16_to_cpu(bucket_xh(bucket)->xh_count); i++) { in ocfs2_list_xattr_bucket()
4055 struct ocfs2_xattr_entry *entry = &bucket_xh(bucket)->xh_entries[i]; in ocfs2_list_xattr_bucket()
4059 bucket_xh(bucket), in ocfs2_list_xattr_bucket()
4066 name = (const char *)bucket_block(bucket, block_off) + in ocfs2_list_xattr_bucket()
4186 struct ocfs2_xattr_bucket *bucket) in ocfs2_cp_xattr_block_to_bucket() argument
4195 struct ocfs2_xattr_header *xh = bucket_xh(bucket); in ocfs2_cp_xattr_block_to_bucket()
4198 char *target = bucket_block(bucket, blks - 1); in ocfs2_cp_xattr_block_to_bucket()
4202 (unsigned long long)bucket_blkno(bucket)); in ocfs2_cp_xattr_block_to_bucket()
4205 memset(bucket_block(bucket, i), 0, blocksize); in ocfs2_cp_xattr_block_to_bucket()
4227 target = bucket_block(bucket, 0); in ocfs2_cp_xattr_block_to_bucket()
4261 xs->header = bucket_xh(xs->bucket); in ocfs2_xattr_update_xattr_search()
4262 xs->base = bucket_block(xs->bucket, 0); in ocfs2_xattr_update_xattr_search()
4291 BUG_ON(!xs->bucket); in ocfs2_xattr_create_index_block()
4323 ret = ocfs2_init_xattr_bucket(xs->bucket, blkno, 1); in ocfs2_xattr_create_index_block()
4329 ret = ocfs2_xattr_bucket_journal_access(handle, xs->bucket, in ocfs2_xattr_create_index_block()
4336 ocfs2_cp_xattr_block_to_bucket(inode, xb_bh, xs->bucket); in ocfs2_xattr_create_index_block()
4337 ocfs2_xattr_bucket_journal_dirty(handle, xs->bucket); in ocfs2_xattr_create_index_block()
4387 struct ocfs2_xattr_bucket *bucket) in ocfs2_defrag_xattr_bucket() argument
4393 u64 blkno = bucket_blkno(bucket); in ocfs2_defrag_xattr_bucket()
4411 for (i = 0; i < bucket->bu_blocks; i++, buf += blocksize) in ocfs2_defrag_xattr_bucket()
4412 memcpy(buf, bucket_block(bucket, i), blocksize); in ocfs2_defrag_xattr_bucket()
4414 ret = ocfs2_xattr_bucket_journal_access(handle, bucket, in ocfs2_defrag_xattr_bucket()
4481 for (i = 0; i < bucket->bu_blocks; i++, buf += blocksize) in ocfs2_defrag_xattr_bucket()
4482 memcpy(bucket_block(bucket, i), buf, blocksize); in ocfs2_defrag_xattr_bucket()
4483 ocfs2_xattr_bucket_journal_dirty(handle, bucket); in ocfs2_defrag_xattr_bucket()
5355 struct ocfs2_xattr_bucket *bucket, in ocfs2_xattr_bucket_value_truncate() argument
5363 struct ocfs2_xattr_header *xh = bucket_xh(bucket); in ocfs2_xattr_bucket_value_truncate()
5381 vb.vb_bh = bucket->bu_bhs[value_blk]; in ocfs2_xattr_bucket_value_truncate()
5395 (unsigned long long)bucket_blkno(bucket), xe_off, len); in ocfs2_xattr_bucket_value_truncate()
5402 ret = ocfs2_xattr_bucket_journal_access(ctxt->handle, bucket, in ocfs2_xattr_bucket_value_truncate()
5411 ocfs2_xattr_bucket_journal_dirty(ctxt->handle, bucket); in ocfs2_xattr_bucket_value_truncate()
5519 struct ocfs2_xattr_bucket *bucket, in ocfs2_check_xattr_bucket_collision() argument
5522 struct ocfs2_xattr_header *xh = bucket_xh(bucket); in ocfs2_check_xattr_bucket_collision()
5532 (unsigned long long)bucket_blkno(bucket), in ocfs2_check_xattr_bucket_collision()
5554 ocfs2_init_xattr_bucket_xa_loc(&loc, xs->bucket, in ocfs2_xattr_set_entry_bucket()
5568 xs->bucket); in ocfs2_xattr_set_entry_bucket()
5613 xs->bucket, in ocfs2_xattr_set_entry_index_block()
5622 xs->bucket, in ocfs2_xattr_set_entry_index_block()
5636 ocfs2_xattr_bucket_relse(xs->bucket); in ocfs2_xattr_set_entry_index_block()
5654 struct ocfs2_xattr_bucket *bucket, in ocfs2_delete_xattr_in_bucket() argument
5658 struct ocfs2_xattr_header *xh = bucket_xh(bucket); in ocfs2_delete_xattr_in_bucket()
5676 ret = ocfs2_get_xattr_tree_value_root(inode->i_sb, bucket, in ocfs2_delete_xattr_in_bucket()
5696 ret = ocfs2_xattr_bucket_value_truncate(inode, bucket, in ocfs2_delete_xattr_in_bucket()
5730 struct ocfs2_xattr_bucket *bucket = in ocfs2_xattr_bucket_post_refcount() local
5733 ret = ocfs2_xattr_bucket_journal_access(handle, bucket, in ocfs2_xattr_bucket_post_refcount()
5740 ocfs2_xattr_bucket_journal_dirty(handle, bucket); in ocfs2_xattr_bucket_post_refcount()
5776 struct ocfs2_xattr_bucket *bucket = NULL; in ocfs2_prepare_refcount_xattr() local
5799 bucket_xh(xbs->bucket), in ocfs2_prepare_refcount_xattr()
5806 base = bucket_block(xbs->bucket, block_off); in ocfs2_prepare_refcount_xattr()
5807 vb.vb_bh = xbs->bucket->bu_bhs[block_off]; in ocfs2_prepare_refcount_xattr()
5812 bucket = xbs->bucket; in ocfs2_prepare_refcount_xattr()
5813 refcount.credits = bucket->bu_blocks; in ocfs2_prepare_refcount_xattr()
5814 refcount.para = bucket; in ocfs2_prepare_refcount_xattr()
6001 struct ocfs2_xattr_bucket *bucket, in ocfs2_get_xattr_tree_value_root() argument
6007 struct ocfs2_xattr_header *xh = bucket_xh(bucket); in ocfs2_get_xattr_tree_value_root()
6012 bucket_xh(bucket), in ocfs2_get_xattr_tree_value_root()
6021 base = bucket_block(bucket, block_off); in ocfs2_get_xattr_tree_value_root()
6027 *bh = bucket->bu_bhs[block_off]; in ocfs2_get_xattr_tree_value_root()
6037 struct ocfs2_xattr_bucket *bucket, in ocfs2_xattr_bucket_value_refcount() argument
6045 (struct ocfs2_xattr_header *)bucket->bu_bhs[0]->b_data; in ocfs2_xattr_bucket_value_refcount()
6051 .credits = bucket->bu_blocks, in ocfs2_xattr_bucket_value_refcount()
6052 .para = bucket, in ocfs2_xattr_bucket_value_refcount()
6062 (unsigned long long)bucket_blkno(bucket), in ocfs2_xattr_bucket_value_refcount()
6070 ret = ocfs2_get_xattr_tree_value_root(inode->i_sb, bucket, i, in ocfs2_xattr_bucket_value_refcount()
6692 struct ocfs2_xattr_bucket *bucket; in ocfs2_get_reflink_xattr_value_root() local
6695 bucket = args->old_bucket; in ocfs2_get_reflink_xattr_value_root()
6697 bucket = args->new_bucket; in ocfs2_get_reflink_xattr_value_root()
6699 return ocfs2_get_xattr_tree_value_root(sb, bucket, offset, in ocfs2_get_reflink_xattr_value_root()
6717 struct ocfs2_xattr_bucket *bucket = in ocfs2_value_tree_metas_in_bucket() local
6720 return ocfs2_get_xattr_tree_value_root(sb, bucket, offset, in ocfs2_value_tree_metas_in_bucket()
6725 struct ocfs2_xattr_bucket *bucket, in ocfs2_calc_value_tree_metas() argument
6731 (struct ocfs2_xattr_header *)bucket->bu_bhs[0]->b_data; in ocfs2_calc_value_tree_metas()
6734 metas->credits += bucket->bu_blocks; in ocfs2_calc_value_tree_metas()
6735 return ocfs2_value_metas_in_xattr_header(inode->i_sb, bucket->bu_bhs[0], in ocfs2_calc_value_tree_metas()
6739 bucket); in ocfs2_calc_value_tree_metas()