|
@@ -199,10 +199,6 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent)
|
|
|
|
|
|
err = -ENOMEM;
|
|
|
|
|
|
- msblk->stream = squashfs_decompressor_init(msblk);
|
|
|
- if (msblk->stream == NULL)
|
|
|
- goto failed_mount;
|
|
|
-
|
|
|
msblk->block_cache = squashfs_cache_init("metadata",
|
|
|
SQUASHFS_CACHED_BLKS, SQUASHFS_METADATA_SIZE);
|
|
|
if (msblk->block_cache == NULL)
|
|
@@ -215,6 +211,13 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent)
|
|
|
goto failed_mount;
|
|
|
}
|
|
|
|
|
|
+ msblk->stream = squashfs_decompressor_init(sb, flags);
|
|
|
+ if (IS_ERR(msblk->stream)) {
|
|
|
+ err = PTR_ERR(msblk->stream);
|
|
|
+ msblk->stream = NULL;
|
|
|
+ goto failed_mount;
|
|
|
+ }
|
|
|
+
|
|
|
/* Allocate and read id index table */
|
|
|
msblk->id_table = squashfs_read_id_index_table(sb,
|
|
|
le64_to_cpu(sblk->id_table_start), le16_to_cpu(sblk->no_ids));
|