]> Git Repo - u-boot.git/commit
fs: btrfs: Crossport btrfs_read_dev_super() from btrfs-progs
authorQu Wenruo <[email protected]>
Wed, 24 Jun 2020 16:02:49 +0000 (18:02 +0200)
committerTom Rini <[email protected]>
Tue, 8 Sep 2020 00:57:27 +0000 (20:57 -0400)
commit4aebb9948602de75c4640ea5a287341b662bb260
tree6b9f506bcfbe878195ae841b1d74b047620e11da
parent565a4147d17ae3b05531b8c3081ca5fa5bcd72fd
fs: btrfs: Crossport btrfs_read_dev_super() from btrfs-progs

This patch uses generic code from btrfs-progs to read one super block
from block device.

To support the btrfs-progs coding style, the following is also
crossported:
- BTRFS_SETGET_FUNC for btrfs_super_block
- btrfs_check_super() function
- Move btrfs_read_superblock() to disk-io.[ch]
  Since super.c only contains pretty small amount of code, and
  the extra check will be covered in later root read patches.

Differences between this implementation and btrfs-progs:
- No sbflags/sb_bytenr support
  Since we only need to read the primary super block (like kernel),
  sbflags/sb_bytenr used by super block recovery is not needed.

This also changes the following behavior of U-Boot btrfs:
- Only reads the primary super block
  The old implementation reads all 3 super blocks, and also one
  non-existing backup.
  This is not correct, especially if there is another filesystem created
  on the device but old superblocks are not rewritten.

  Just like kernel, we only check the primary super block.

Signed-off-by: Qu Wenruo <[email protected]>
Reviewed-by: Marek BehĂșn <[email protected]>
[trini: Change error to be a define in compat.h]
Signed-off-by: Tom Rini <[email protected]>
fs/btrfs/Makefile
fs/btrfs/btrfs.c
fs/btrfs/compat.h [new file with mode: 0644]
fs/btrfs/ctree.c
fs/btrfs/ctree.h
fs/btrfs/disk-io.c
fs/btrfs/disk-io.h
fs/btrfs/super.c [deleted file]
This page took 0.031634 seconds and 4 git commands to generate.