fs: btrfs: Sync btrfs_btree.h from kernel

This version includes all needed on-disk format from kernel.

Only need to modify the include headers for U-Boot, everything else is
untouched.

Also, since U-Boot btrfs is using a different endian convert timing (at
tree block read time), it needs some forced type conversion before
proper crossport.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Marek Behún <marek.behun@nic.cz>
This commit is contained in:
Qu Wenruo 2020-06-24 18:02:47 +02:00 committed by Tom Rini
parent 314b9b4a38
commit 3b4b40c0d6
7 changed files with 1343 additions and 982 deletions

View file

@ -29,7 +29,7 @@ u64 btrfs_lookup_inode_ref(struct btrfs_root *root, u64 inr,
*refp = *ref;
if (name) {
if (ref->name_len > BTRFS_NAME_MAX) {
if (ref->name_len > BTRFS_NAME_LEN) {
printf("%s: inode name too long: %u\n", __func__,
ref->name_len);
goto out;
@ -255,7 +255,8 @@ u64 btrfs_lookup_path(struct btrfs_root *root, u64 inr, const char *path,
type = item.type;
have_inode = 1;
if (btrfs_lookup_inode(root, &item.location, &inode_item, root))
if (btrfs_lookup_inode(root, (struct btrfs_key *)&item.location,
&inode_item, root))
return -1ULL;
if (item.type == BTRFS_FT_SYMLINK && symlink_limit >= 0) {