<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/erofs/data.c, branch linux-6.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-07-17T16:43:58Z</updated>
<entry>
<title>erofs: fix to add missing tracepoint in erofs_readahead()</title>
<updated>2025-07-17T16:43:58Z</updated>
<author>
<name>Chao Yu</name>
</author>
<published>2025-07-07T08:48:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0a6cea89c1bdbc238f1a76ebd4257ef7ba592b4e'/>
<id>urn:sha1:0a6cea89c1bdbc238f1a76ebd4257ef7ba592b4e</id>
<content type='text'>
[ Upstream commit d53238b614e01266a3d36b417b60a502e0698504 ]

Commit 771c994ea51f ("erofs: convert all uncompressed cases to iomap")
converts to use iomap interface, it removed trace_erofs_readahead()
tracepoint in the meantime, let's add it back.

Fixes: 771c994ea51f ("erofs: convert all uncompressed cases to iomap")
Signed-off-by: Chao Yu &lt;chao@kernel.org&gt;
Reviewed-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20250707084832.2725677-1-chao@kernel.org
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>erofs: address D-cache aliasing</title>
<updated>2025-07-17T16:43:54Z</updated>
<author>
<name>Gao Xiang</name>
</author>
<published>2025-07-09T03:46:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b237006e32a86d53e8f84d3f770c1e8aad5d2c4c'/>
<id>urn:sha1:b237006e32a86d53e8f84d3f770c1e8aad5d2c4c</id>
<content type='text'>
commit 27917e8194f91dffd8b4825350c63cb68e98ce58 upstream.

Flush the D-cache before unlocking folios for compressed inodes, as
they are dirtied during decompression.

Avoid calling flush_dcache_folio() on every CPU write, since it's more
like playing whack-a-mole without real benefit.

It has no impact on x86 and arm64/risc-v: on x86, flush_dcache_folio()
is a no-op, and on arm64/risc-v, PG_dcache_clean (PG_arch_1) is clear
for new page cache folios.  However, certain ARM boards are affected,
as reported.

Fixes: 3883a79abd02 ("staging: erofs: introduce VLE decompression support")
Closes: https://lore.kernel.org/r/c1e51e16-6cc6-49d0-a63e-4e9ff6c4dd53@pengutronix.de
Closes: https://lore.kernel.org/r/38d43fae-1182-4155-9c5b-ffc7382d9917@siemens.com
Tested-by: Jan Kiszka &lt;jan.kiszka@siemens.com&gt;
Tested-by: Stefan Kerkmann &lt;s.kerkmann@pengutronix.de&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20250709034614.2780117-2-hsiangkao@linux.alibaba.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>erofs: fix to add missing tracepoint in erofs_read_folio()</title>
<updated>2025-07-17T16:43:54Z</updated>
<author>
<name>Chao Yu</name>
</author>
<published>2025-07-08T11:19:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8cc9c460ce6f4dbe0a06a618afe6f5e640dd24f4'/>
<id>urn:sha1:8cc9c460ce6f4dbe0a06a618afe6f5e640dd24f4</id>
<content type='text'>
commit 99f7619a77a0a2e3e2bcae676d0f301769167754 upstream.

Commit 771c994ea51f ("erofs: convert all uncompressed cases to iomap")
converts to use iomap interface, it removed trace_erofs_readpage()
tracepoint in the meantime, let's add it back.

Fixes: 771c994ea51f ("erofs: convert all uncompressed cases to iomap")
Signed-off-by: Chao Yu &lt;chao@kernel.org&gt;
Reviewed-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20250708111942.3120926-1-chao@kernel.org
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>erofs: implement 48-bit block addressing for unencoded inodes</title>
<updated>2025-03-16T17:25:26Z</updated>
<author>
<name>Gao Xiang</name>
</author>
<published>2025-03-10T09:54:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e1473d5195f9ce1afb143208e568a9350e08b77'/>
<id>urn:sha1:2e1473d5195f9ce1afb143208e568a9350e08b77</id>
<content type='text'>
It adapts the on-disk changes from the previous commit.  It also
supports EROFS_NULL_ADDR (all 1's) for EROFS_INODE_FLAT_PLAIN inodes
to indicate 0-filled inodes, as it's common for composefs use cases.
As a result, EROFS_INODE_CHUNK_BASED is no longer needed.

Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Acked-by: Chao Yu &lt;chao@kernel.org&gt;
Link: https://lore.kernel.org/r/20250310095459.2620647-5-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: add 48-bit block addressing on-disk support</title>
<updated>2025-03-16T17:23:25Z</updated>
<author>
<name>Gao Xiang</name>
</author>
<published>2025-03-10T09:54:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=61ba89b57905579b6877f921423596f722983c35'/>
<id>urn:sha1:61ba89b57905579b6877f921423596f722983c35</id>
<content type='text'>
The current 32-bit block addressing limits EROFS to a 16TiB maximum
volume size with 4KiB blocks.  However, several new use cases now
require larger capacity support:
 - Massive datasets for model training in order to boost random
   sampling performance for each epoch;

 - Object storage clients using EROFS direct passthrough.

This extends core on-disk structures to support 48-bit block addressing,
such as inodes, device slots, and inode chunks.

Additionally:
 - Expand superblock root NID to 8-byte `rootnid_8b` to enable full
   out-of-place update incremental builds;

 - Introduce `epoch` field in the superblock as well as add `mtime`
   field to 32-byte compact inodes for basic timestamp support.

Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Acked-by: Chao Yu &lt;chao@kernel.org&gt;
Link: https://lore.kernel.org/r/20250310095459.2620647-4-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: get rid of erofs_map_blocks_flatmode()</title>
<updated>2025-03-16T17:23:25Z</updated>
<author>
<name>Gao Xiang</name>
</author>
<published>2025-03-10T09:54:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8e49c33d0435629272338e4d413917a0b7b9be65'/>
<id>urn:sha1:8e49c33d0435629272338e4d413917a0b7b9be65</id>
<content type='text'>
It's simple enough to be folded into erofs_map_blocks().

Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Acked-by: Chao Yu &lt;chao@kernel.org&gt;
Link: https://lore.kernel.org/r/20250310095459.2620647-2-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: get rid of erofs_kmap_type</title>
<updated>2025-03-16T17:21:24Z</updated>
<author>
<name>Bo Liu</name>
</author>
<published>2025-02-17T09:31:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=706e50e46af810f521f47e7bfd385f000c4556a0'/>
<id>urn:sha1:706e50e46af810f521f47e7bfd385f000c4556a0</id>
<content type='text'>
Since EROFS_KMAP_ATOMIC is no longer valid, get rid of erofs_kmap_type too.

Signed-off-by: Bo Liu &lt;liubo03@inspur.com&gt;
Reviewed-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Reviewed-by: Chao Yu &lt;chao@kernel.org&gt;
Link: https://lore.kernel.org/r/20250217093141.2659-1-liubo03@inspur.com
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
</content>
</entry>
<entry>
<title>erofs: reference `struct erofs_device_info` for erofs_map_dev</title>
<updated>2024-12-16T13:02:06Z</updated>
<author>
<name>Gao Xiang</name>
</author>
<published>2024-12-12T23:54:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f8d920a402aec3482931cb5f1539ed438740fc49'/>
<id>urn:sha1:f8d920a402aec3482931cb5f1539ed438740fc49</id>
<content type='text'>
Record `m_sb` and `m_dif` to replace `m_fscache`, `m_daxdev`, `m_fp`
and `m_dax_part_off` in order to simplify the codebase.

Note that `m_bdev` is still left since it can be assigned from
`sb-&gt;s_bdev` directly.

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/20241212235401.2857246-1-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: use `struct erofs_device_info` for the primary device</title>
<updated>2024-12-16T13:01:59Z</updated>
<author>
<name>Gao Xiang</name>
</author>
<published>2024-12-16T12:53:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b00af2c5414dc01e0718deef7ead81102867636'/>
<id>urn:sha1:7b00af2c5414dc01e0718deef7ead81102867636</id>
<content type='text'>
Instead of just listing each one directly in `struct erofs_sb_info`
except that we still use `sb-&gt;s_bdev` for the primary block device.

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/20241216125310.930933-2-hsiangkao@linux.alibaba.com
</content>
</entry>
<entry>
<title>erofs: clarify direct I/O support</title>
<updated>2024-11-18T10:50:14Z</updated>
<author>
<name>Gao Xiang</name>
</author>
<published>2024-11-15T07:46:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b49c0215b176e9c2e0998e7929eeb9261c9a7919'/>
<id>urn:sha1:b49c0215b176e9c2e0998e7929eeb9261c9a7919</id>
<content type='text'>
Currently, only filesystems backed by block devices support direct I/O.

Also remove the unnecessary strict checks that can be supported with iomap.

Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20241115074625.2520728-1-hsiangkao@linux.alibaba.com
</content>
</entry>
</feed>
