[PATCH v8] erofs: support deflate decompress by using Intel QAT

Gao Xiang hsiangkao at linux.alibaba.com
Thu May 22 19:06:35 AEST 2025



On 2025/5/22 16:47, Bo Liu wrote:

...

> 
> diff --git a/Documentation/ABI/testing/sysfs-fs-erofs b/Documentation/ABI/testing/sysfs-fs-erofs
> index b134146d735b..4d024f043ea1 100644
> --- a/Documentation/ABI/testing/sysfs-fs-erofs
> +++ b/Documentation/ABI/testing/sysfs-fs-erofs
> @@ -27,3 +27,12 @@ Description:	Writing to this will drop compression-related caches,
>   		- 1 : invalidate cached compressed folios
>   		- 2 : drop in-memory pclusters
>   		- 3 : drop in-memory pclusters and cached compressed folios
> +
> +What:		/sys/fs/erofs/accel
> +Date:		May 2025
> +Contact:	"Bo Liu" <liubo03 at inspur.com>
> +Description:	Used to set or show hardware accelerators in effect
> +		and multiple accelerators are separated by '\n'.
> +		Supported accelerator(s): qat_deflate.
> +		Disable all accelerators with an empty string (echo > accel).
> +

redundent new line.

...

> diff --git a/fs/erofs/decompressor_crypto.c b/fs/erofs/decompressor_crypto.c
> new file mode 100644
> index 000000000000..f4891d335792
> --- /dev/null
> +++ b/fs/erofs/decompressor_crypto.c
> @@ -0,0 +1,186 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +#include <linux/scatterlist.h>
> +#include <crypto/acompress.h>
> +
> +#include "compress.h"
> +
> +static int __z_erofs_crypto_decompress(struct z_erofs_decompress_req *rq,
> +				struct crypto_acomp *tfm)

Please check your tab setting (should be 8 spaces) and
rework it on my v4.

> +{

...

> +
> +int z_erofs_crypto_show_engines(char *buf, int size, char sep)
> +{
> +	struct z_erofs_crypto_engine *e;
> +	int alg, len = 0;
> +
> +	for (alg = 0; alg < Z_EROFS_COMPRESSION_MAX; ++alg) {
> +		for (e = z_erofs_crypto[alg]; e->crypto_name; ++e) {
> +			if (!e->tfm)
> +				continue;
> +			len += scnprintf(buf + len, size - len, "%s%c",
> +					 e->crypto_name, sep);
> +		}
> +	}
> +	return len;
> +}
> +

redundent new line.

Thanks,
Gao Xiang

> diff --git a/fs/erofs/decompressor_deflate.c b/fs/erofs/decompressor_deflate.c
> index c6908a487054..e4c9df9d7978 100644
> --- a/fs/erofs/decompressor_deflate.c
> +++ b/fs/erofs/decompressor_deflate.c


More information about the Linux-erofs mailing list