[U-Boot] [PATCH 0/9] Add single-device read-only BTRFS support

Marek BehĂșn marek.behun at nic.cz
Sun Sep 3 15:00:22 UTC 2017


This is the first version of patches for adding a single-device
read-only BTRFS support to U-Boot.

Compression (zlib/lzo) is supported.
Data checksumming is unimplemented.

The code was tested on the Turris Omnia router, where BTRFS is
used as the main filesystem from which kernel and device-tree
are loaded.

The first patch adds the CRC32-C hash routine.

The second patch generalizes the ext4fs_devread, reiserfs_devread
and zfs_devread functions into one fs_devread and puts it into
fs/fs_internal.c.

The third patch creates a header variadic-macro.h containing
a variadic macro CALL_MACRO_FOR_EACH, which expands to a call
to the macro specified by the first argument to all its subsequent
arguments. This is used in my code for defining functions to
convert the BTRFS data structures to/from CPU/disk format.

The fourth patch adds the btrfs_tree.h and ctree.h files
containing constants and structures definitions for BTRFS from
Linux.

The fifth patch adds the code for conversion of BTRFS data
structures to/from CPU/disk format.

The sixth patch adds the proper BTRFS code.

The seventh patch adds U-Boot fs handlers.

The eighth patch adds the 'btrsubvol' command to list BTRFS
subvolumes.

The nineth patch adds CONFIG_CMD_BTRFS into the defconfig for
Turris Omnia.

Tested-by: Marek Behun <marek.behun at nic.cz>
Signed-off-by: Marek Behun <marek.behun at nic.cz>



More information about the U-Boot mailing list