u-boot/fs/btrfs
Qu Wenruo dae9aeda45 fs: btrfs: fix the false alert of decompression failure
There are some cases where decompressed sectors can have padding zeros.

In kernel code, we have lines to address such situation:

        /*
         * btrfs_getblock is doing a zero on the tail of the page too,
         * but this will cover anything missing from the decompressed
         * data.
         */
        if (bytes < destlen)
                memset(kaddr+bytes, 0, destlen-bytes);
        kunmap_local(kaddr);

But not in U-boot code, thus we have some reports of U-boot failed to
read compressed files in btrfs.

Fix it by doing the same thing of the kernel, for both inline and
regular compressed extents.

Reported-by: Matwey Kornilov <matwey.kornilov@gmail.com>
Link: https://bugzilla.suse.com/show_bug.cgi?id=1183717
Fixes: a26a6bedaf ("fs: btrfs: Introduce btrfs_read_extent_inline() and btrfs_read_extent_reg()")
Signed-off-by: Qu Wenruo <wqu@suse.com>
2021-04-27 08:05:30 -04:00
..
common fs: btrfs: Crossport rbtree-utils from btrfs-progs 2020-09-07 20:57:27 -04:00
crypto fs: btrfs: Add more checksum algorithms 2020-09-07 20:57:27 -04:00
kernel-shared fs: btrfs: Sync btrfs_btree.h from kernel 2020-09-07 20:57:27 -04:00
btrfs.c fs: btrfs: change directory list output to be aligned as before 2021-02-24 16:51:48 -05:00
btrfs.h fs: btrfs: Cleanup the old implementation 2020-09-07 21:00:36 -04:00
compat.h fs: btrfs: Introduce function to resolve path in one subvolume 2020-09-07 21:00:36 -04:00
compression.c fs: btrfs: Cleanup the old implementation 2020-09-07 21:00:36 -04:00
conv-funcs.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ctree.c fs: btrfs: Cleanup the old implementation 2020-09-07 21:00:36 -04:00
ctree.h fs: btrfs: Cleanup the old implementation 2020-09-07 21:00:36 -04:00
dev.c common: Drop part.h from common header 2020-05-18 17:33:33 -04:00
dir-item.c fs: btrfs: Cleanup the old implementation 2020-09-07 21:00:36 -04:00
disk-io.c fs: btrfs: do not fail when offset of a ROOT_ITEM is not -1 2021-03-01 09:53:46 -05:00
disk-io.h fs: btrfs: Cleanup the old implementation 2020-09-07 21:00:36 -04:00
extent-cache.c fs: btrfs: Crossport extent-cache.[ch] from btrfs-progs 2020-09-07 20:57:27 -04:00
extent-cache.h fs: btrfs: Crossport extent-cache.[ch] from btrfs-progs 2020-09-07 20:57:27 -04:00
extent-io.c fs: btrfs: Cleanup the old implementation 2020-09-07 21:00:36 -04:00
extent-io.h fs: btrfs: Crossport extent-io.[ch] from btrfs-progs 2020-09-07 20:57:27 -04:00
inode.c fs: btrfs: fix the false alert of decompression failure 2021-04-27 08:05:30 -04:00
Kconfig fs: btrfs: Select SHA256 in Kconfig 2021-01-29 10:36:49 -05:00
Makefile fs: btrfs: Cleanup the old implementation 2020-09-07 21:00:36 -04:00
root-tree.c fs: btrfs: Crossport open_ctree_fs_info() from btrfs-progs 2020-09-07 20:57:27 -04:00
subvolume.c fs: btrfs: Cleanup the old implementation 2020-09-07 21:00:36 -04:00
volumes.c fs: btrfs: volumes: prevent overflow for multiplying 2021-01-20 14:01:08 -05:00
volumes.h fs: btrfs: Crossport btrfs_read_sys_array() and btrfs_read_chunk_tree() 2020-09-07 20:57:27 -04:00