squashfs4: use upstream xz compression header format
In the upstream kernel and the upstream squashfs4 tools the xz
compression header looks the following:
struct disk_comp_opts {
        __le32 dictionary_size;
        __le32 flags;
};
We added some other members and also moved some existing members. Place
the members which are already in upstream header at the same position
as in that kernel and add our own at the end. The kernel should not
have a problem when there are some additional members and just ignore
them.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
			
			
This commit is contained in:
		 Hauke Mehrtens
					Hauke Mehrtens
				
			
				
					committed by
					
						 John Crispin
						John Crispin
					
				
			
			
				
	
			
			
			 John Crispin
						John Crispin
					
				
			
						parent
						
							f080cfab72
						
					
				
				
					commit
					f97ad870e1
				
			| @@ -1,25 +0,0 @@ | |||||||
| From f31b7c0efa255dd17a5f584022a319387f09b0d8 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Jonas Gorski <jonas.gorski@gmail.com> |  | ||||||
| Date: Tue, 12 Apr 2011 19:55:41 +0200 |  | ||||||
| Subject: [PATCH] squashfs: update xz compressor options struct. |  | ||||||
|  |  | ||||||
| Update the xz compressor options struct to match the squashfs userspace |  | ||||||
| one. |  | ||||||
| --- |  | ||||||
|  fs/squashfs/xz_wrapper.c |    4 +++- |  | ||||||
|  1 files changed, 3 insertions(+), 1 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/fs/squashfs/xz_wrapper.c |  | ||||||
| +++ b/fs/squashfs/xz_wrapper.c |  | ||||||
| @@ -40,8 +40,10 @@ struct squashfs_xz { |  | ||||||
|  }; |  | ||||||
|   |  | ||||||
|  struct disk_comp_opts { |  | ||||||
| -	__le32 dictionary_size; |  | ||||||
|  	__le32 flags; |  | ||||||
| +	__le16 bit_opts; |  | ||||||
| +	__le16 fb; |  | ||||||
| +	__le32 dictionary_size; |  | ||||||
|  }; |  | ||||||
|   |  | ||||||
|  struct comp_opts { |  | ||||||
| @@ -1,25 +0,0 @@ | |||||||
| From f31b7c0efa255dd17a5f584022a319387f09b0d8 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Jonas Gorski <jonas.gorski@gmail.com> |  | ||||||
| Date: Tue, 12 Apr 2011 19:55:41 +0200 |  | ||||||
| Subject: [PATCH] squashfs: update xz compressor options struct. |  | ||||||
|  |  | ||||||
| Update the xz compressor options struct to match the squashfs userspace |  | ||||||
| one. |  | ||||||
| --- |  | ||||||
|  fs/squashfs/xz_wrapper.c |    4 +++- |  | ||||||
|  1 files changed, 3 insertions(+), 1 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/fs/squashfs/xz_wrapper.c |  | ||||||
| +++ b/fs/squashfs/xz_wrapper.c |  | ||||||
| @@ -40,8 +40,10 @@ struct squashfs_xz { |  | ||||||
|  }; |  | ||||||
|   |  | ||||||
|  struct disk_comp_opts { |  | ||||||
| -	__le32 dictionary_size; |  | ||||||
|  	__le32 flags; |  | ||||||
| +	__le16 bit_opts; |  | ||||||
| +	__le16 fb; |  | ||||||
| +	__le32 dictionary_size; |  | ||||||
|  }; |  | ||||||
|   |  | ||||||
|  struct comp_opts { |  | ||||||
| @@ -1,25 +0,0 @@ | |||||||
| From f31b7c0efa255dd17a5f584022a319387f09b0d8 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Jonas Gorski <jonas.gorski@gmail.com> |  | ||||||
| Date: Tue, 12 Apr 2011 19:55:41 +0200 |  | ||||||
| Subject: [PATCH] squashfs: update xz compressor options struct. |  | ||||||
|  |  | ||||||
| Update the xz compressor options struct to match the squashfs userspace |  | ||||||
| one. |  | ||||||
| --- |  | ||||||
|  fs/squashfs/xz_wrapper.c |    4 +++- |  | ||||||
|  1 files changed, 3 insertions(+), 1 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/fs/squashfs/xz_wrapper.c |  | ||||||
| +++ b/fs/squashfs/xz_wrapper.c |  | ||||||
| @@ -40,8 +40,10 @@ struct squashfs_xz { |  | ||||||
|  }; |  | ||||||
|   |  | ||||||
|  struct disk_comp_opts { |  | ||||||
| -	__le32 dictionary_size; |  | ||||||
|  	__le32 flags; |  | ||||||
| +	__le16 bit_opts; |  | ||||||
| +	__le16 fb; |  | ||||||
| +	__le32 dictionary_size; |  | ||||||
|  }; |  | ||||||
|   |  | ||||||
|  struct comp_opts { |  | ||||||
| @@ -40,6 +40,7 @@ | |||||||
| + | + | ||||||
| + | + | ||||||
| +struct lzma_opts { | +struct lzma_opts { | ||||||
|  | +	uint32_t dict_size; | ||||||
| +	uint32_t flags; | +	uint32_t flags; | ||||||
| +#define LZMA_OPT_FLT_MASK	0xffff | +#define LZMA_OPT_FLT_MASK	0xffff | ||||||
| +#define LZMA_OPT_PRE_OFF	16 | +#define LZMA_OPT_PRE_OFF	16 | ||||||
| @@ -53,7 +54,6 @@ | |||||||
| +#define LZMA_OPT_PB_OFF		6 | +#define LZMA_OPT_PB_OFF		6 | ||||||
| +#define LZMA_OPT_PB_MASK	(0x7 << LZMA_OPT_PB_OFF) | +#define LZMA_OPT_PB_MASK	(0x7 << LZMA_OPT_PB_OFF) | ||||||
| +	uint16_t fb; | +	uint16_t fb; | ||||||
| +	uint32_t dict_size; |  | ||||||
| +}; | +}; | ||||||
| + | + | ||||||
| +#if __BYTE_ORDER == __BIG_ENDIAN | +#if __BYTE_ORDER == __BIG_ENDIAN | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user