<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/fs/erofs/zdata.h, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2023-02-15T00:11:25+00:00</updated>
<entry>
<title>erofs: move zdata.h into zdata.c</title>
<updated>2023-02-15T00:11:25+00:00</updated>
<author>
<name>Gao Xiang</name>
<email>hsiangkao@linux.alibaba.com</email>
</author>
<published>2023-02-04T09:30:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a9a94d9373349e1a53f149d2015eb6f03a8517cf'/>
<id>urn:sha1:a9a94d9373349e1a53f149d2015eb6f03a8517cf</id>
<content type='text'>
Definitions in zdata.h are only used in zdata.c and for internal
use only.  No logic changes.

Reviewed-by: Yue Hu &lt;huyue2@coolpad.com&gt;
Reviewed-by: Chao Yu &lt;chao@kernel.org&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20230204093040.97967-4-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: remove tagged pointer helpers</title>
<updated>2023-02-15T00:11:25+00:00</updated>
<author>
<name>Gao Xiang</name>
<email>hsiangkao@linux.alibaba.com</email>
</author>
<published>2023-02-04T09:30:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b1ed220c6262bff63cdcb53692e492be0b05206c'/>
<id>urn:sha1:b1ed220c6262bff63cdcb53692e492be0b05206c</id>
<content type='text'>
Just open-code the remaining one to simplify the code.

Reviewed-by: Yue Hu &lt;huyue2@coolpad.com&gt;
Reviewed-by: Chao Yu &lt;chao@kernel.org&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20230204093040.97967-3-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: avoid tagged pointers to mark sync decompression</title>
<updated>2023-02-15T00:11:24+00:00</updated>
<author>
<name>Gao Xiang</name>
<email>hsiangkao@linux.alibaba.com</email>
</author>
<published>2023-02-04T09:30:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cdba55067f2f9fdc7870ffcb6aef912d3468cff8'/>
<id>urn:sha1:cdba55067f2f9fdc7870ffcb6aef912d3468cff8</id>
<content type='text'>
We could just use a boolean in z_erofs_decompressqueue for sync
decompression to simplify the code.

Reviewed-by: Yue Hu &lt;huyue2@coolpad.com&gt;
Reviewed-by: Chao Yu &lt;chao@kernel.org&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20230204093040.97967-2-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: shouldn't churn the mapping page for duplicated copies</title>
<updated>2022-10-16T22:55:49+00:00</updated>
<author>
<name>Gao Xiang</name>
<email>hsiangkao@linux.alibaba.com</email>
</author>
<published>2022-10-12T04:50:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=63bbb85658ea43dd35dbfde6d4150b47c407fc87'/>
<id>urn:sha1:63bbb85658ea43dd35dbfde6d4150b47c407fc87</id>
<content type='text'>
If other duplicated copies exist in one decompression shot, should
leave the old page as is rather than replace it with the new duplicated
one.  Otherwise, the following cold path to deal with duplicated copies
will use the invalid bvec.  It impacts compressed data deduplication.

Also, shift the onlinepage EIO bit to avoid touching the signed bit.

Fixes: 267f2492c8f7 ("erofs: introduce multi-reference pclusters (fully-referenced)")
Reviewed-by: Chao Yu &lt;chao@kernel.org&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20221012045056.13421-1-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: introduce multi-reference pclusters (fully-referenced)</title>
<updated>2022-07-22T13:44:27+00:00</updated>
<author>
<name>Gao Xiang</name>
<email>hsiangkao@linux.alibaba.com</email>
</author>
<published>2022-07-15T15:42:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=267f2492c8f71dac44399988b510f9bf6b074a51'/>
<id>urn:sha1:267f2492c8f71dac44399988b510f9bf6b074a51</id>
<content type='text'>
Let's introduce multi-reference pclusters at runtime. In details,
if one pcluster is requested by multiple extents at almost the same
time (even belong to different files), the longest extent will be
decompressed as representative and the other extents are actually
copied from the longest one in one round.

After this patch, fully-referenced extents can be correctly handled
and the full decoding check needs to be bypassed for
partial-referenced extents.

Acked-by: Chao Yu &lt;chao@kernel.org&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20220715154203.48093-17-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: record the longest decompressed size in this round</title>
<updated>2022-07-21T14:55:44+00:00</updated>
<author>
<name>Gao Xiang</name>
<email>hsiangkao@linux.alibaba.com</email>
</author>
<published>2022-07-15T15:42:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2bfab9c0edac5f6031e8956477cd39f7162b208d'/>
<id>urn:sha1:2bfab9c0edac5f6031e8956477cd39f7162b208d</id>
<content type='text'>
Currently, `pcl-&gt;length' records the longest decompressed length
as long as the pcluster itself isn't reclaimed.  However, such
number is unneeded for the general cases since it doesn't indicate
the exact decompressed size in this round.

Instead, let's record the decompressed size for this round instead,
thus `pcl-&gt;nr_pages' can be completely dropped and pageofs_out is
also designed to be kept in sync with `pcl-&gt;length'.

Acked-by: Chao Yu &lt;chao@kernel.org&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20220715154203.48093-16-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: introduce struct z_erofs_decompress_backend</title>
<updated>2022-07-21T14:55:22+00:00</updated>
<author>
<name>Gao Xiang</name>
<email>hsiangkao@linux.alibaba.com</email>
</author>
<published>2022-07-15T15:41:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4f05687fd7036473605a161ca47a2cf9fd3cbfc5'/>
<id>urn:sha1:4f05687fd7036473605a161ca47a2cf9fd3cbfc5</id>
<content type='text'>
Let's introduce struct z_erofs_decompress_backend in order to pass
on the decompression backend context between helper functions more
easier and avoid too many arguments.

Acked-by: Chao Yu &lt;chao@kernel.org&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20220715154203.48093-13-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: get rid of `z_pagemap_global'</title>
<updated>2022-07-21T14:55:15+00:00</updated>
<author>
<name>Gao Xiang</name>
<email>hsiangkao@linux.alibaba.com</email>
</author>
<published>2022-07-15T15:41:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e73681877d4c3a8e28c8416300c36b10d4d6e9c1'/>
<id>urn:sha1:e73681877d4c3a8e28c8416300c36b10d4d6e9c1</id>
<content type='text'>
In order to introduce multi-reference pclusters for compressed data
deduplication, let's get rid of the global page array for now since
it needs to be re-designed then at least.

Acked-by: Chao Yu &lt;chao@kernel.org&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20220715154203.48093-12-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: rework online page handling</title>
<updated>2022-07-21T14:54:46+00:00</updated>
<author>
<name>Gao Xiang</name>
<email>hsiangkao@linux.alibaba.com</email>
</author>
<published>2022-07-15T15:41:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=671485516e1c303c82211b6d5017d5a270f8c215'/>
<id>urn:sha1:671485516e1c303c82211b6d5017d5a270f8c215</id>
<content type='text'>
Since all decompressed offsets have been integrated to bvecs[], this
patch avoids all sub-indexes so that page-&gt;private only includes a
part count and an eio flag, thus in the future folio-&gt;private can have
the same meaning.

In addition, PG_error will not be used anymore after this patch and
we're heading to use page-&gt;private (later folio-&gt;private) and
page-&gt;mapping  (later folio-&gt;mapping) only.

Acked-by: Chao Yu &lt;chao@kernel.org&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20220715154203.48093-9-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: switch compressed_pages[] to bufvec</title>
<updated>2022-07-21T14:54:37+00:00</updated>
<author>
<name>Gao Xiang</name>
<email>hsiangkao@linux.alibaba.com</email>
</author>
<published>2022-07-15T15:41:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ed722fbccadb7445ac7decd8d0960c94c1a79ee4'/>
<id>urn:sha1:ed722fbccadb7445ac7decd8d0960c94c1a79ee4</id>
<content type='text'>
Convert compressed_pages[] to bufvec in order to avoid using
page-&gt;private to keep onlinepage_index (decompressed offset)
for inplace I/O pages.

In the future, we only rely on folio-&gt;private to keep a countdown
to unlock folios and set folio_uptodate.

Acked-by: Chao Yu &lt;chao@kernel.org&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20220715154203.48093-8-hsiangkao@linux.alibaba.com
</content>
</entry>
</feed>
