diff options
Diffstat (limited to 'fs/squashfs/decompressor.h')
| -rw-r--r-- | fs/squashfs/decompressor.h | 24 | 
1 files changed, 9 insertions, 15 deletions
diff --git a/fs/squashfs/decompressor.h b/fs/squashfs/decompressor.h index 330073e2902..af098532180 100644 --- a/fs/squashfs/decompressor.h +++ b/fs/squashfs/decompressor.h @@ -24,28 +24,22 @@   */  struct squashfs_decompressor { -	void	*(*init)(struct squashfs_sb_info *, void *, int); +	void	*(*init)(struct squashfs_sb_info *, void *); +	void	*(*comp_opts)(struct squashfs_sb_info *, void *, int);  	void	(*free)(void *); -	int	(*decompress)(struct squashfs_sb_info *, void **, -		struct buffer_head **, int, int, int, int, int); +	int	(*decompress)(struct squashfs_sb_info *, void *, +		struct buffer_head **, int, int, int, +		struct squashfs_page_actor *);  	int	id;  	char	*name;  	int	supported;  }; -static inline void squashfs_decompressor_free(struct squashfs_sb_info *msblk, -	void *s) +static inline void *squashfs_comp_opts(struct squashfs_sb_info *msblk, +							void *buff, int length)  { -	if (msblk->decompressor) -		msblk->decompressor->free(s); -} - -static inline int squashfs_decompress(struct squashfs_sb_info *msblk, -	void **buffer, struct buffer_head **bh, int b, int offset, int length, -	int srclength, int pages) -{ -	return msblk->decompressor->decompress(msblk, buffer, bh, b, offset, -		length, srclength, pages); +	return msblk->decompressor->comp_opts ? +		msblk->decompressor->comp_opts(msblk, buff, length) : NULL;  }  #ifdef CONFIG_SQUASHFS_XZ  | 
