[PATCH 2/2] uboot: fs/btrfs: Fix LZO false decompression error caused by pending zero

David Sterba
2020-03-19T16:28:22Z

On Thu, Mar 19, 2020 at 03:34:12PM +0100, Matthias Brugger wrote:
>
>
> On 19/03/2020 14:56, David Sterba wrote:
> > On Thu, Mar 19, 2020 at 02:33:28PM +0100, Matthias Brugger wrote:
> >>> dlen -= out_len;
> >>>
> >>> res += out_len;
> >>> +
> >>> + /*
> >>> + * If the 4 bytes header does not fit to the rest of the page we
> >>> + * have to move to next one, or we read some garbage.
> >>> + */
> >>> + mod_page = tot_in % PAGE_SIZE;
> >>
> >> in U-Boot we use 4K page sizes, but the OS could use another page size (16K or
> >> 64k). Would we need to adapt that code to reflect which page size is used on the
> >> medium we want to access?
> >
> > Yes, it is the 'sectorsize' as it's set up in fs_info or it's equivalent
> > in uboot. For kernel the page size == sectorsize is kind of implicit and
> > verified at mount time.
> >
>
> Does this mean we would need to add a Kconfig option to set the sectorsize in
> U-Boot?

No, the value depends on the filesystem so it can't be a config option.
What I mean is btrfs_super_block::sectorsize, where the superblock is
btrfs_info::sb.