Btrfs: make some funcs static
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
committed by
David Woodhouse
parent
234b63a091
commit
9aca1d5132
@@ -34,7 +34,7 @@ void btrfs_release_path(struct btrfs_root *root, struct btrfs_path *p)
|
|||||||
memset(p, 0, sizeof(*p));
|
memset(p, 0, sizeof(*p));
|
||||||
}
|
}
|
||||||
|
|
||||||
int btrfs_cow_block(struct btrfs_root *root,
|
static int btrfs_cow_block(struct btrfs_root *root,
|
||||||
struct btrfs_buffer *buf,
|
struct btrfs_buffer *buf,
|
||||||
struct btrfs_buffer *parent,
|
struct btrfs_buffer *parent,
|
||||||
int parent_slot,
|
int parent_slot,
|
||||||
@@ -96,7 +96,7 @@ int btrfs_leaf_free_space(struct btrfs_leaf *leaf)
|
|||||||
/*
|
/*
|
||||||
* compare two keys in a memcmp fashion
|
* compare two keys in a memcmp fashion
|
||||||
*/
|
*/
|
||||||
int comp_keys(struct btrfs_disk_key *disk, struct btrfs_key *k2)
|
static int comp_keys(struct btrfs_disk_key *disk, struct btrfs_key *k2)
|
||||||
{
|
{
|
||||||
struct btrfs_key k1;
|
struct btrfs_key k1;
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ int comp_keys(struct btrfs_disk_key *disk, struct btrfs_key *k2)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int check_node(struct btrfs_path *path, int level)
|
static int check_node(struct btrfs_path *path, int level)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
struct btrfs_node *parent = NULL;
|
struct btrfs_node *parent = NULL;
|
||||||
@@ -146,7 +146,7 @@ int check_node(struct btrfs_path *path, int level)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int check_leaf(struct btrfs_path *path, int level)
|
static int check_leaf(struct btrfs_path *path, int level)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
struct btrfs_leaf *leaf = &path->nodes[level]->leaf;
|
struct btrfs_leaf *leaf = &path->nodes[level]->leaf;
|
||||||
@@ -186,7 +186,7 @@ int check_leaf(struct btrfs_path *path, int level)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int check_block(struct btrfs_path *path, int level)
|
static int check_block(struct btrfs_path *path, int level)
|
||||||
{
|
{
|
||||||
if (level == 0)
|
if (level == 0)
|
||||||
return check_leaf(path, level);
|
return check_leaf(path, level);
|
||||||
@@ -202,7 +202,7 @@ int check_block(struct btrfs_path *path, int level)
|
|||||||
*
|
*
|
||||||
* slot may point to max if the key is bigger than all of the keys
|
* slot may point to max if the key is bigger than all of the keys
|
||||||
*/
|
*/
|
||||||
int generic_bin_search(char *p, int item_size, struct btrfs_key *key,
|
static int generic_bin_search(char *p, int item_size, struct btrfs_key *key,
|
||||||
int max, int *slot)
|
int max, int *slot)
|
||||||
{
|
{
|
||||||
int low = 0;
|
int low = 0;
|
||||||
@@ -233,7 +233,7 @@ int generic_bin_search(char *p, int item_size, struct btrfs_key *key,
|
|||||||
* simple bin_search frontend that does the right thing for
|
* simple bin_search frontend that does the right thing for
|
||||||
* leaves vs nodes
|
* leaves vs nodes
|
||||||
*/
|
*/
|
||||||
int bin_search(struct btrfs_node *c, struct btrfs_key *key, int *slot)
|
static int bin_search(struct btrfs_node *c, struct btrfs_key *key, int *slot)
|
||||||
{
|
{
|
||||||
if (btrfs_is_leaf(c)) {
|
if (btrfs_is_leaf(c)) {
|
||||||
struct btrfs_leaf *l = (struct btrfs_leaf *)c;
|
struct btrfs_leaf *l = (struct btrfs_leaf *)c;
|
||||||
@@ -250,7 +250,7 @@ int bin_search(struct btrfs_node *c, struct btrfs_key *key, int *slot)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct btrfs_buffer *read_node_slot(struct btrfs_root *root,
|
static struct btrfs_buffer *read_node_slot(struct btrfs_root *root,
|
||||||
struct btrfs_buffer *parent_buf,
|
struct btrfs_buffer *parent_buf,
|
||||||
int slot)
|
int slot)
|
||||||
{
|
{
|
||||||
|
@@ -365,8 +365,9 @@ error:
|
|||||||
*
|
*
|
||||||
* returns 0 if everything worked, non-zero otherwise.
|
* returns 0 if everything worked, non-zero otherwise.
|
||||||
*/
|
*/
|
||||||
int alloc_extent(struct btrfs_root *root, u64 num_blocks, u64 search_start,
|
static int alloc_extent(struct btrfs_root *root, u64 num_blocks,
|
||||||
u64 search_end, u64 owner, struct btrfs_key *ins)
|
u64 search_start, u64 search_end, u64 owner,
|
||||||
|
struct btrfs_key *ins)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
int pending_ret;
|
int pending_ret;
|
||||||
@@ -425,7 +426,12 @@ struct btrfs_buffer *btrfs_alloc_free_block(struct btrfs_root *root)
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
int walk_down_tree(struct btrfs_root *root, struct btrfs_path *path, int *level)
|
/*
|
||||||
|
* helper function for drop_snapshot, this walks down the tree dropping ref
|
||||||
|
* counts as it goes.
|
||||||
|
*/
|
||||||
|
static int walk_down_tree(struct btrfs_root *root,
|
||||||
|
struct btrfs_path *path, int *level)
|
||||||
{
|
{
|
||||||
struct btrfs_buffer *next;
|
struct btrfs_buffer *next;
|
||||||
struct btrfs_buffer *cur;
|
struct btrfs_buffer *cur;
|
||||||
@@ -437,6 +443,9 @@ int walk_down_tree(struct btrfs_root *root, struct btrfs_path *path, int *level)
|
|||||||
BUG_ON(ret);
|
BUG_ON(ret);
|
||||||
if (refs > 1)
|
if (refs > 1)
|
||||||
goto out;
|
goto out;
|
||||||
|
/*
|
||||||
|
* walk down to the last node level and free all the leaves
|
||||||
|
*/
|
||||||
while(*level > 0) {
|
while(*level > 0) {
|
||||||
cur = path->nodes[*level];
|
cur = path->nodes[*level];
|
||||||
if (path->slots[*level] >=
|
if (path->slots[*level] >=
|
||||||
@@ -467,7 +476,13 @@ out:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int walk_up_tree(struct btrfs_root *root, struct btrfs_path *path, int *level)
|
/*
|
||||||
|
* helper for dropping snapshots. This walks back up the tree in the path
|
||||||
|
* to find the first node higher up where we haven't yet gone through
|
||||||
|
* all the slots
|
||||||
|
*/
|
||||||
|
static int walk_up_tree(struct btrfs_root *root, struct btrfs_path *path,
|
||||||
|
int *level)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int slot;
|
int slot;
|
||||||
@@ -491,9 +506,15 @@ int walk_up_tree(struct btrfs_root *root, struct btrfs_path *path, int *level)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* drop the reference count on the tree rooted at 'snap'. This traverses
|
||||||
|
* the tree freeing any blocks that have a ref count of zero after being
|
||||||
|
* decremented.
|
||||||
|
*/
|
||||||
int btrfs_drop_snapshot(struct btrfs_root *root, struct btrfs_buffer *snap)
|
int btrfs_drop_snapshot(struct btrfs_root *root, struct btrfs_buffer *snap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret = 0;;
|
||||||
|
int wret;
|
||||||
int level;
|
int level;
|
||||||
struct btrfs_path path;
|
struct btrfs_path path;
|
||||||
int i;
|
int i;
|
||||||
@@ -506,18 +527,22 @@ int btrfs_drop_snapshot(struct btrfs_root *root, struct btrfs_buffer *snap)
|
|||||||
path.nodes[level] = snap;
|
path.nodes[level] = snap;
|
||||||
path.slots[level] = 0;
|
path.slots[level] = 0;
|
||||||
while(1) {
|
while(1) {
|
||||||
ret = walk_down_tree(root, &path, &level);
|
wret = walk_down_tree(root, &path, &level);
|
||||||
if (ret > 0)
|
if (wret > 0)
|
||||||
break;
|
break;
|
||||||
ret = walk_up_tree(root, &path, &level);
|
if (wret < 0)
|
||||||
if (ret > 0)
|
ret = wret;
|
||||||
|
|
||||||
|
wret = walk_up_tree(root, &path, &level);
|
||||||
|
if (wret > 0)
|
||||||
break;
|
break;
|
||||||
|
if (wret < 0)
|
||||||
|
ret = wret;
|
||||||
}
|
}
|
||||||
for (i = 0; i <= orig_level; i++) {
|
for (i = 0; i <= orig_level; i++) {
|
||||||
if (path.nodes[i]) {
|
if (path.nodes[i]) {
|
||||||
btrfs_block_release(root, path.nodes[i]);
|
btrfs_block_release(root, path.nodes[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return ret;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user