[OpenWrt-Devel] Incompatible xz_wrapper structures between OpenWRT versions of the Linux Kernel and kernel.org Linux kernel 4.5.2.

Hauke Mehrtens hauke at hauke-m.de
Wed Sep 7 16:17:38 EDT 2016


On 09/07/2016 09:27 PM, John Clark wrote:
> In using the 4.5.2 Linux kernel to debug some ‘other problem’ I was
> unable to use my squashfs file system with the kernel.
> 
> wending my way to ‘xz_wrapper.c’ I find the following structure
> definition in the OpenWRT ’trunk’ version of kernel sources:
> 
> 
> struct comp_opts {
>         __le32 flags;
>         __le16 bit_opts;
>         __le16 fb;
>         __le32 dictionary_size;
> };
> 
> 
> However, for the standard Linux kernel 4.5.2 the same named file has the
> following structure definitions:
> 
> struct disk_comp_opts {
>         __le32 dictionary_size;
>         __le32 flags;
> };
> 
> struct comp_opts {
>         int dict_size;
> };
> 
> 
> The question is, how is it that there is this significant difference?
> 
> It seems that the structure should have been
> 
> struct disk_comp_opts {
>         __le32 dictionary_size;
>         __le32 flags;
> 
> /* Plus additional OpenWRT elements. */
> };
> 
> John Clark.

Hi,

I also ran into this problem and it was fixed here for LEDE:
https://git.lede-project.org/?p=source.git;a=commitdiff;h=f97ad870e11ebe5f3dcf833dda6c83b9165b37cb

I am not aware of any problems caused by this change, you only have to
make sure to use the new squashfs tools with the new kernel.

Hauke
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list