Lines Matching refs:item
319 struct btrfs_delayed_item *item; in btrfs_alloc_delayed_item() local
320 item = kmalloc(sizeof(*item) + data_len, GFP_NOFS); in btrfs_alloc_delayed_item()
321 if (item) { in btrfs_alloc_delayed_item()
322 item->data_len = data_len; in btrfs_alloc_delayed_item()
323 item->ins_or_del = 0; in btrfs_alloc_delayed_item()
324 item->bytes_reserved = 0; in btrfs_alloc_delayed_item()
325 item->delayed_node = NULL; in btrfs_alloc_delayed_item()
326 refcount_set(&item->refs, 1); in btrfs_alloc_delayed_item()
328 return item; in btrfs_alloc_delayed_item()
407 struct btrfs_delayed_item *item; in __btrfs_add_delayed_item() local
422 item = rb_entry(parent_node, struct btrfs_delayed_item, in __btrfs_add_delayed_item()
425 cmp = btrfs_comp_cpu_keys(&item->key, &ins->key); in __btrfs_add_delayed_item()
452 struct btrfs_delayed_item *item) in __btrfs_add_delayed_insertion_item() argument
454 return __btrfs_add_delayed_item(node, item, in __btrfs_add_delayed_insertion_item()
459 struct btrfs_delayed_item *item) in __btrfs_add_delayed_deletion_item() argument
461 return __btrfs_add_delayed_item(node, item, in __btrfs_add_delayed_deletion_item()
500 static void btrfs_release_delayed_item(struct btrfs_delayed_item *item) in btrfs_release_delayed_item() argument
502 if (item) { in btrfs_release_delayed_item()
503 __btrfs_remove_delayed_item(item); in btrfs_release_delayed_item()
504 if (refcount_dec_and_test(&item->refs)) in btrfs_release_delayed_item()
505 kfree(item); in btrfs_release_delayed_item()
513 struct btrfs_delayed_item *item = NULL; in __btrfs_first_delayed_insertion_item() local
517 item = rb_entry(p, struct btrfs_delayed_item, rb_node); in __btrfs_first_delayed_insertion_item()
519 return item; in __btrfs_first_delayed_insertion_item()
526 struct btrfs_delayed_item *item = NULL; in __btrfs_first_delayed_deletion_item() local
530 item = rb_entry(p, struct btrfs_delayed_item, rb_node); in __btrfs_first_delayed_deletion_item()
532 return item; in __btrfs_first_delayed_deletion_item()
536 struct btrfs_delayed_item *item) in __btrfs_next_delayed_item() argument
541 p = rb_next(&item->rb_node); in __btrfs_next_delayed_item()
550 struct btrfs_delayed_item *item) in btrfs_delayed_item_reserve_metadata() argument
574 item->key.objectid, in btrfs_delayed_item_reserve_metadata()
576 item->bytes_reserved = num_bytes; in btrfs_delayed_item_reserve_metadata()
583 struct btrfs_delayed_item *item) in btrfs_delayed_item_release_metadata() argument
588 if (!item->bytes_reserved) in btrfs_delayed_item_release_metadata()
597 item->key.objectid, item->bytes_reserved, in btrfs_delayed_item_release_metadata()
599 btrfs_block_rsv_release(fs_info, rsv, item->bytes_reserved, NULL); in btrfs_delayed_item_release_metadata()
696 struct btrfs_delayed_item *item) in btrfs_batch_insert_items() argument
717 next = item; in btrfs_batch_insert_items()
875 struct btrfs_delayed_item *item) in btrfs_batch_delete_items() argument
893 next = item; in btrfs_batch_delete_items()
1513 struct btrfs_delayed_item *item; in btrfs_delete_delayed_insertion_item() local
1516 item = __btrfs_lookup_delayed_insertion_item(node, key); in btrfs_delete_delayed_insertion_item()
1517 if (!item) { in btrfs_delete_delayed_insertion_item()
1522 btrfs_delayed_item_release_metadata(node->root, item); in btrfs_delete_delayed_insertion_item()
1523 btrfs_release_delayed_item(item); in btrfs_delete_delayed_insertion_item()
1532 struct btrfs_delayed_item *item; in btrfs_delete_delayed_dir_index() local
1549 item = btrfs_alloc_delayed_item(0); in btrfs_delete_delayed_dir_index()
1550 if (!item) { in btrfs_delete_delayed_dir_index()
1555 item->key = item_key; in btrfs_delete_delayed_dir_index()
1557 ret = btrfs_delayed_item_reserve_metadata(trans, dir->root, item); in btrfs_delete_delayed_dir_index()
1565 btrfs_release_delayed_item(item); in btrfs_delete_delayed_dir_index()
1570 ret = __btrfs_add_delayed_deletion_item(node, item); in btrfs_delete_delayed_dir_index()
1576 btrfs_delayed_item_release_metadata(dir->root, item); in btrfs_delete_delayed_dir_index()
1577 btrfs_release_delayed_item(item); in btrfs_delete_delayed_dir_index()
1612 struct btrfs_delayed_item *item; in btrfs_readdir_get_delayed_items() local
1626 item = __btrfs_first_delayed_insertion_item(delayed_node); in btrfs_readdir_get_delayed_items()
1627 while (item) { in btrfs_readdir_get_delayed_items()
1628 refcount_inc(&item->refs); in btrfs_readdir_get_delayed_items()
1629 list_add_tail(&item->readdir_list, ins_list); in btrfs_readdir_get_delayed_items()
1630 item = __btrfs_next_delayed_item(item); in btrfs_readdir_get_delayed_items()
1633 item = __btrfs_first_delayed_deletion_item(delayed_node); in btrfs_readdir_get_delayed_items()
1634 while (item) { in btrfs_readdir_get_delayed_items()
1635 refcount_inc(&item->refs); in btrfs_readdir_get_delayed_items()
1636 list_add_tail(&item->readdir_list, del_list); in btrfs_readdir_get_delayed_items()
1637 item = __btrfs_next_delayed_item(item); in btrfs_readdir_get_delayed_items()