backref.c (584fb12187f087f4909f74fa91dbb61856107684) backref.c (b1818dab9bda1da8f3ea5a13230b5d91ae964f00)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2011 STRATO. All rights reserved.
4 */
5
6#include <linux/mm.h>
7#include <linux/rbtree.h>
8#include <trace/events/btrfs.h>

--- 2468 unchanged lines hidden (view full) ---

2477 INIT_LIST_HEAD(&cache->changed);
2478 INIT_LIST_HEAD(&cache->detached);
2479 INIT_LIST_HEAD(&cache->leaves);
2480 INIT_LIST_HEAD(&cache->pending_edge);
2481 INIT_LIST_HEAD(&cache->useless_node);
2482 cache->fs_info = fs_info;
2483 cache->is_reloc = is_reloc;
2484}
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2011 STRATO. All rights reserved.
4 */
5
6#include <linux/mm.h>
7#include <linux/rbtree.h>
8#include <trace/events/btrfs.h>

--- 2468 unchanged lines hidden (view full) ---

2477 INIT_LIST_HEAD(&cache->changed);
2478 INIT_LIST_HEAD(&cache->detached);
2479 INIT_LIST_HEAD(&cache->leaves);
2480 INIT_LIST_HEAD(&cache->pending_edge);
2481 INIT_LIST_HEAD(&cache->useless_node);
2482 cache->fs_info = fs_info;
2483 cache->is_reloc = is_reloc;
2484}
2485
2486struct btrfs_backref_node *btrfs_backref_alloc_node(
2487 struct btrfs_backref_cache *cache, u64 bytenr, int level)
2488{
2489 struct btrfs_backref_node *node;
2490
2491 ASSERT(level >= 0 && level < BTRFS_MAX_LEVEL);
2492 node = kzalloc(sizeof(*node), GFP_NOFS);
2493 if (!node)
2494 return node;
2495
2496 INIT_LIST_HEAD(&node->list);
2497 INIT_LIST_HEAD(&node->upper);
2498 INIT_LIST_HEAD(&node->lower);
2499 RB_CLEAR_NODE(&node->rb_node);
2500 cache->nr_nodes++;
2501 node->level = level;
2502 node->bytenr = bytenr;
2503
2504 return node;
2505}