]>
Commit | Line | Data |
---|---|---|
1e1d2701 CM |
1 | #include <stdio.h> |
2 | #include <stdlib.h> | |
3 | #include "kerncompat.h" | |
4 | #include "radix-tree.h" | |
5 | #include "ctree.h" | |
6 | #include "disk-io.h" | |
7 | ||
8 | int btrfs_insert_inode(struct btrfs_root *root, u64 objectid, | |
9 | struct btrfs_inode_item *inode_item) | |
10 | { | |
11 | struct btrfs_path path; | |
12 | struct btrfs_key key; | |
13 | int ret; | |
14 | key.objectid = objectid; | |
15 | key.flags = 0; | |
16 | btrfs_set_key_type(&key, BTRFS_INODE_ITEM_KEY); | |
17 | key.offset = 0; | |
18 | ||
19 | btrfs_init_path(&path); | |
20 | ret = btrfs_insert_item(root, &key, inode_item, sizeof(*inode_item)); | |
21 | btrfs_release_path(root, &path); | |
22 | return ret; | |
23 | } | |
24 | ||
25 | int btrfs_lookup_inode(struct btrfs_root *root, struct btrfs_path *path, | |
26 | u64 objectid, int mod) | |
27 | { | |
28 | struct btrfs_key key; | |
29 | int ins_len = mod < 0 ? -1 : 0; | |
30 | int cow = mod != 0; | |
31 | ||
32 | key.objectid = objectid; | |
33 | key.flags = 0; | |
34 | btrfs_set_key_type(&key, BTRFS_INODE_ITEM_KEY); | |
35 | key.offset = 0; | |
36 | return btrfs_search_slot(root, &key, path, ins_len, cow); | |
37 | } |