fs/squashfs/super.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Sometimes the actual number of fragments in image is between
0 and SQUASHFS_CACHED_FRAGMENTS, which cause additional
fragment caches to be allocated.
Sets the number of fragment caches to the minimum of fragments
and SQUASHFS_CACHED_FRAGMENTS.
Signed-off-by: pangliyuan <pangliyuan1@huawei.com>
---
fs/squashfs/super.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c
index 22e812808e5c..269c6d61bc29 100644
--- a/fs/squashfs/super.c
+++ b/fs/squashfs/super.c
@@ -405,7 +405,7 @@ static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)
goto check_directory_table;
msblk->fragment_cache = squashfs_cache_init("fragment",
- SQUASHFS_CACHED_FRAGMENTS, msblk->block_size);
+ min(SQUASHFS_CACHED_FRAGMENTS, fragments), msblk->block_size);
if (msblk->fragment_cache == NULL) {
err = -ENOMEM;
goto failed_mount;
--
2.37.7
On 10/12/2024 09:08, pangliyuan wrote:
> Sometimes the actual number of fragments in image is between
> 0 and SQUASHFS_CACHED_FRAGMENTS, which cause additional
> fragment caches to be allocated.
>
> Sets the number of fragment caches to the minimum of fragments
> and SQUASHFS_CACHED_FRAGMENTS.
>
> Signed-off-by: pangliyuan <pangliyuan1@huawei.com>
A small but useful optimisation.
Reviewed-by: Phillip Lougher <phillip@squashfs.org.uk>
> ---
> fs/squashfs/super.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c
> index 22e812808e5c..269c6d61bc29 100644
> --- a/fs/squashfs/super.c
> +++ b/fs/squashfs/super.c
> @@ -405,7 +405,7 @@ static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)
> goto check_directory_table;
>
> msblk->fragment_cache = squashfs_cache_init("fragment",
> - SQUASHFS_CACHED_FRAGMENTS, msblk->block_size);
> + min(SQUASHFS_CACHED_FRAGMENTS, fragments), msblk->block_size);
> if (msblk->fragment_cache == NULL) {
> err = -ENOMEM;
> goto failed_mount;
© 2016 - 2026 Red Hat, Inc.