From: Gao Xiang via Linux-erofs <linux-erofs@lists.ozlabs.org>
To: linux-erofs@lists.ozlabs.org, Chao Yu <yuchao0@huawei.com>,
Chao Yu <chao@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: [PATCH v2 0/4] erofs: introduce on-disk compression configurations
Date: Mon, 29 Mar 2021 09:23:04 +0800 [thread overview]
Message-ID: <20210329012308.28743-1-hsiangkao@aol.com> (raw)
In-Reply-To: 20210329012308.28743-1-hsiangkao.ref@aol.com
From: Gao Xiang <hsiangkao@redhat.com>
Hi folks,
When we provides support for different algorithms or big pcluster, it'd
be necessary to record some configuration in the per-fs basis.
For example, when big pcluster feature for lz4 is enabled, we need to
know the largest pclustersize in the whole fs instance to adjust per-CPU
buffers in advance, which will be used to handle in-place decompression
failure for inplace IO then. And we also need to record global arguments
(e.g. dict_size) for the upcoming LZMA algorithm support.
Therefore, this patchset introduces a new INCOMPAT feature called
COMPR_CFGS, which provides an available algorithm bitmap in the sb
and a variable array list to store corresponding arguments for each
available algorithms.
Since such a INCOMPAT sb feature will be introduced, it'd be better to
reuse such bit for BIGPCLUSTER feature as well since BIGPCLUSTER feature
depends on COMPR_CFGS and will be released together with COMPR_CFGS.
If COMPR_CFGS is disabled, the field of available algorithm bitmap would
become a lz4_max_distance (which is now reserved as 0), and max_distance
can be safely ignored for old kernels since 64k lz4 dictionary is always
enough even new images could reduce the sliding window.
Thanks,
Gao Xiang
Changes since v1:
- [2/4] add a comment on lz4_max_distance (Chao);
- [4/4] fix a misplaced label (Chao);
- [4/4] enable COMPR_CFGS with BIG_PCLUSTER later since they share
the same bit.
Gao Xiang (3):
erofs: introduce erofs_sb_has_xxx() helpers
erofs: introduce on-disk lz4 fs configurations
erofs: add on-disk compression configurations
Huang Jianan (1):
erofs: support adjust lz4 history window size
fs/erofs/decompressor.c | 35 ++++++++--
fs/erofs/erofs_fs.h | 20 +++++-
fs/erofs/internal.h | 33 +++++++++
fs/erofs/super.c | 147 +++++++++++++++++++++++++++++++++++++++-
4 files changed, 224 insertions(+), 11 deletions(-)
--
2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Gao Xiang <hsiangkao@aol.com>
To: linux-erofs@lists.ozlabs.org, Chao Yu <yuchao0@huawei.com>,
Chao Yu <chao@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>, Gao Xiang <hsiangkao@redhat.com>
Subject: [PATCH v2 0/4] erofs: introduce on-disk compression configurations
Date: Mon, 29 Mar 2021 09:23:04 +0800 [thread overview]
Message-ID: <20210329012308.28743-1-hsiangkao@aol.com> (raw)
In-Reply-To: 20210329012308.28743-1-hsiangkao.ref@aol.com
From: Gao Xiang <hsiangkao@redhat.com>
Hi folks,
When we provides support for different algorithms or big pcluster, it'd
be necessary to record some configuration in the per-fs basis.
For example, when big pcluster feature for lz4 is enabled, we need to
know the largest pclustersize in the whole fs instance to adjust per-CPU
buffers in advance, which will be used to handle in-place decompression
failure for inplace IO then. And we also need to record global arguments
(e.g. dict_size) for the upcoming LZMA algorithm support.
Therefore, this patchset introduces a new INCOMPAT feature called
COMPR_CFGS, which provides an available algorithm bitmap in the sb
and a variable array list to store corresponding arguments for each
available algorithms.
Since such a INCOMPAT sb feature will be introduced, it'd be better to
reuse such bit for BIGPCLUSTER feature as well since BIGPCLUSTER feature
depends on COMPR_CFGS and will be released together with COMPR_CFGS.
If COMPR_CFGS is disabled, the field of available algorithm bitmap would
become a lz4_max_distance (which is now reserved as 0), and max_distance
can be safely ignored for old kernels since 64k lz4 dictionary is always
enough even new images could reduce the sliding window.
Thanks,
Gao Xiang
Changes since v1:
- [2/4] add a comment on lz4_max_distance (Chao);
- [4/4] fix a misplaced label (Chao);
- [4/4] enable COMPR_CFGS with BIG_PCLUSTER later since they share
the same bit.
Gao Xiang (3):
erofs: introduce erofs_sb_has_xxx() helpers
erofs: introduce on-disk lz4 fs configurations
erofs: add on-disk compression configurations
Huang Jianan (1):
erofs: support adjust lz4 history window size
fs/erofs/decompressor.c | 35 ++++++++--
fs/erofs/erofs_fs.h | 20 +++++-
fs/erofs/internal.h | 33 +++++++++
fs/erofs/super.c | 147 +++++++++++++++++++++++++++++++++++++++-
4 files changed, 224 insertions(+), 11 deletions(-)
--
2.20.1
next parent reply other threads:[~2021-03-29 1:23 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210329012308.28743-1-hsiangkao.ref@aol.com>
2021-03-29 1:23 ` Gao Xiang via Linux-erofs [this message]
2021-03-29 1:23 ` [PATCH v2 0/4] erofs: introduce on-disk compression configurations Gao Xiang
2021-03-29 1:23 ` [PATCH v2 1/4] erofs: introduce erofs_sb_has_xxx() helpers Gao Xiang via Linux-erofs
2021-03-29 1:23 ` Gao Xiang
2021-03-29 1:23 ` [PATCH v2 2/4] erofs: support adjust lz4 history window size Gao Xiang via Linux-erofs
2021-03-29 1:23 ` Gao Xiang
2021-03-29 1:23 ` [PATCH v2 3/4] erofs: introduce on-disk lz4 fs configurations Gao Xiang via Linux-erofs
2021-03-29 1:23 ` Gao Xiang
2021-03-29 1:23 ` [PATCH v2 4/4] erofs: add on-disk compression configurations Gao Xiang via Linux-erofs
2021-03-29 1:23 ` Gao Xiang
2021-03-29 6:26 ` Chao Yu
2021-03-29 6:26 ` Chao Yu
2021-03-29 6:36 ` Gao Xiang
2021-03-29 6:36 ` Gao Xiang
2021-03-29 6:43 ` Chao Yu
2021-03-29 6:43 ` Chao Yu
2021-03-29 6:55 ` Gao Xiang
2021-03-29 6:55 ` Gao Xiang
2021-03-29 7:52 ` Chao Yu
2021-03-29 7:52 ` Chao Yu
2021-03-29 10:00 ` [PATCH v3 " Gao Xiang via Linux-erofs
2021-03-29 10:00 ` Gao Xiang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210329012308.28743-1-hsiangkao@aol.com \
--to=linux-erofs@lists.ozlabs.org \
--cc=chao@kernel.org \
--cc=hsiangkao@aol.com \
--cc=linux-kernel@vger.kernel.org \
--cc=yuchao0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.