u64 btrfs_get_default_subvol_objectid(void);
/* extent-io.c */
-u64 btrfs_read_extent_inline(struct btrfs_path *,
+u64 btrfs_read_extent_inline(struct __btrfs_path *,
struct btrfs_file_extent_item *, u64, u64,
char *);
-u64 btrfs_read_extent_reg(struct btrfs_path *, struct btrfs_file_extent_item *,
+u64 btrfs_read_extent_reg(struct __btrfs_path *, struct btrfs_file_extent_item *,
u64, u64, char *);
#endif /* !__BTRFS_BTRFS_H__ */
int btrfs_read_chunk_tree(void)
{
- struct btrfs_path path;
+ struct __btrfs_path path;
struct btrfs_key key, *found_key;
struct btrfs_chunk *chunk;
int res = 0;
}
} while (!(res = btrfs_next_slot(&path)));
- btrfs_free_path(&path);
+ __btrfs_free_path(&path);
if (res < 0)
return -1;
return generic_bin_search(addr, size, key, p->header.nritems, slot);
}
-static void clear_path(struct btrfs_path *p)
+static void clear_path(struct __btrfs_path *p)
{
int i;
}
}
-void btrfs_free_path(struct btrfs_path *p)
+void __btrfs_free_path(struct __btrfs_path *p)
{
int i;
}
int btrfs_search_tree(const struct btrfs_root *root, struct btrfs_key *key,
- struct btrfs_path *p)
+ struct __btrfs_path *p)
{
u8 lvl, prev_lvl;
int i, slot, ret;
return 0;
err:
- btrfs_free_path(p);
+ __btrfs_free_path(p);
return -1;
}
-static int jump_leaf(struct btrfs_path *path, int dir)
+static int jump_leaf(struct __btrfs_path *path, int dir)
{
- struct btrfs_path p;
+ struct __btrfs_path p;
u32 slot;
int level = 1, from_level, i;
return -1;
}
-int btrfs_prev_slot(struct btrfs_path *p)
+int btrfs_prev_slot(struct __btrfs_path *p)
{
if (!p->slots[0])
return jump_leaf(p, -1);
return 0;
}
-int btrfs_next_slot(struct btrfs_path *p)
+int btrfs_next_slot(struct __btrfs_path *p)
{
struct btrfs_leaf *leaf = &p->nodes[0]->leaf;
struct btrfs_node node;
};
-struct btrfs_path {
+struct __btrfs_path {
union btrfs_tree_node *nodes[BTRFS_MAX_LEVEL];
u32 slots[BTRFS_MAX_LEVEL];
};
int __btrfs_comp_keys(struct btrfs_key *, struct btrfs_key *);
int btrfs_comp_keys_type(struct btrfs_key *, struct btrfs_key *);
int btrfs_bin_search(union btrfs_tree_node *, struct btrfs_key *, int *);
-void btrfs_free_path(struct btrfs_path *);
+void __btrfs_free_path(struct __btrfs_path *);
int btrfs_search_tree(const struct btrfs_root *, struct btrfs_key *,
- struct btrfs_path *);
-int btrfs_prev_slot(struct btrfs_path *);
-int btrfs_next_slot(struct btrfs_path *);
+ struct __btrfs_path *);
+int btrfs_prev_slot(struct __btrfs_path *);
+int btrfs_next_slot(struct __btrfs_path *);
-static inline struct btrfs_key *btrfs_path_leaf_key(struct btrfs_path *p) {
+static inline struct btrfs_key *btrfs_path_leaf_key(struct __btrfs_path *p) {
/* At tree read time we have converted the endian for btrfs_disk_key */
return (struct btrfs_key *)&p->nodes[0]->leaf.items[p->slots[0]].key;
}
static inline struct btrfs_key *
btrfs_search_tree_key_type(const struct btrfs_root *root, u64 objectid,
- u8 type, struct btrfs_path *path)
+ u8 type, struct __btrfs_path *path)
{
struct btrfs_key key, *res;
res = btrfs_path_leaf_key(path);
if (btrfs_comp_keys_type(&key, res)) {
- btrfs_free_path(path);
+ __btrfs_free_path(path);
return NULL;
}
return res;
}
-static inline u32 btrfs_path_item_size(struct btrfs_path *p)
+static inline u32 btrfs_path_item_size(struct __btrfs_path *p)
{
return p->nodes[0]->leaf.items[p->slots[0]].size;
}
+ leaf->items[slot].offset;
}
-static inline void *btrfs_path_leaf_data(struct btrfs_path *p)
+static inline void *btrfs_path_leaf_data(struct __btrfs_path *p)
{
return __btrfs_leaf_data(&p->nodes[0]->leaf, p->slots[0]);
}
}
static struct btrfs_dir_item *
-btrfs_match_dir_item_name(struct btrfs_path *path, const char *name,
+btrfs_match_dir_item_name(struct __btrfs_path *path, const char *name,
int name_len)
{
struct btrfs_dir_item *item;
const char *name, int name_len,
struct btrfs_dir_item *item)
{
- struct btrfs_path path;
+ struct __btrfs_path path;
struct btrfs_key key;
struct btrfs_dir_item *res = NULL;
if (res)
*item = *res;
out:
- btrfs_free_path(&path);
+ __btrfs_free_path(&path);
return res ? 0 : -1;
}
int btrfs_readdir(const struct btrfs_root *root, u64 dir,
btrfs_readdir_callback_t callback)
{
- struct btrfs_path path;
+ struct __btrfs_path path;
struct btrfs_key key, *found_key;
struct btrfs_dir_item *item;
int res = 0;
break;
} while (!(res = btrfs_next_slot(&path)));
- btrfs_free_path(&path);
+ __btrfs_free_path(&path);
return res < 0 ? -1 : 0;
}
#include "extent-io.h"
#include "disk-io.h"
-u64 btrfs_read_extent_inline(struct btrfs_path *path,
+u64 btrfs_read_extent_inline(struct __btrfs_path *path,
struct btrfs_file_extent_item *extent, u64 offset,
u64 size, char *out)
{
return -1ULL;
}
-u64 btrfs_read_extent_reg(struct btrfs_path *path,
+u64 btrfs_read_extent_reg(struct __btrfs_path *path,
struct btrfs_file_extent_item *extent, u64 offset,
u64 size, char *out)
{
u64 btrfs_lookup_inode_ref(struct btrfs_root *root, u64 inr,
struct btrfs_inode_ref *refp, char *name)
{
- struct btrfs_path path;
+ struct __btrfs_path path;
struct btrfs_key *key;
struct btrfs_inode_ref *ref;
u64 res = -1ULL;
res = key->offset;
out:
- btrfs_free_path(&path);
+ __btrfs_free_path(&path);
return res;
}
struct btrfs_root *new_root)
{
struct btrfs_root tmp_root = *root;
- struct btrfs_path path;
+ struct __btrfs_path path;
int res = -1;
if (location->type == BTRFS_ROOT_ITEM_KEY) {
res = 0;
out:
- btrfs_free_path(&path);
+ __btrfs_free_path(&path);
return res;
}
int btrfs_readlink(const struct btrfs_root *root, u64 inr, char *target)
{
- struct btrfs_path path;
+ struct __btrfs_path path;
struct btrfs_key key;
struct btrfs_file_extent_item *extent;
const char *data_ptr;
target[extent->ram_bytes] = '\0';
res = 0;
out:
- btrfs_free_path(&path);
+ __btrfs_free_path(&path);
return res;
}
u64 btrfs_file_read(const struct btrfs_root *root, u64 inr, u64 offset,
u64 size, char *buf)
{
- struct btrfs_path path;
+ struct __btrfs_path path;
struct btrfs_key key;
struct btrfs_file_extent_item *extent;
int res = 0;
return -1ULL;
out:
- btrfs_free_path(&path);
+ __btrfs_free_path(&path);
return rd_all;
}
#include "btrfs.h"
-static void read_root_item(struct btrfs_path *p, struct btrfs_root_item *item)
+static void read_root_item(struct __btrfs_path *p, struct btrfs_root_item *item)
{
u32 len;
int reset = 0;
int btrfs_find_root(u64 objectid, struct btrfs_root *root,
struct btrfs_root_item *root_item)
{
- struct btrfs_path path;
+ struct __btrfs_path path;
struct btrfs_root_item my_root_item;
if (!btrfs_search_tree_key_type(&btrfs_info.tree_root, objectid,
root->root_dirid = root_item->root_dirid;
}
- btrfs_free_path(&path);
+ __btrfs_free_path(&path);
return 0;
}
u64 btrfs_lookup_root_ref(u64 subvolid, struct btrfs_root_ref *refp, char *name)
{
- struct btrfs_path path;
+ struct __btrfs_path path;
struct btrfs_key *key;
struct btrfs_root_ref *ref;
u64 res = -1ULL;
res = key->offset;
out:
- btrfs_free_path(&path);
+ __btrfs_free_path(&path);
return res;
}
static void list_subvols(u64 tree, char *nameptr, int max_name_len, int level)
{
struct btrfs_key key, *found_key;
- struct btrfs_path path;
+ struct __btrfs_path path;
struct btrfs_root_ref *ref;
int res;
"subvolumes\n", __func__);
} while (!(res = btrfs_next_slot(&path)));
- btrfs_free_path(&path);
+ __btrfs_free_path(&path);
}
void btrfs_list_subvols(void)