Re: [PATCH 0/7] ext4: Convert truncated extent data to inline data.

From: Jan Kara
Date: Mon Jan 06 2025 - 10:52:36 EST


On Fri 20-12-24 23:16:18, Julian Sun wrote:
> Ext4 provides the feature of storing data inline and automatically
> converts it to extent data when appropriate. However, files stored
> as extents cannot be converted back to inline data after truncation,
> even if the file size allows for inline data storage.
> This patch set implements the feature to store large truncated files
> as inline data when suitable, improving disk utilization.
> Patches 1-3 include some cleanups and fixes.
> Patches 4-6 refactor the functions responsible for writing inline data,
> consolidating their logic for better code organization.
> Patch 7 implements the feature of storing truncated files as inline data
> on the next write operation.

Thanks for the patches! So ext4 inline data feature is a bit problematic
and has some locking issues in the implementation which we didn't manage to
fix [1]. We are even considering just disabling this feature due to the
complications with it. Hence I don't quite like further complicating this
code by adding possibility to create inline data in an inode after it had
data blocks allocated. That being said I like the preparatory cleanups in
this patch series. These are useful regardless of the feature itself.

Honza

[1] See our attempts in thread:
https://lore.kernel.org/all/d704ce55-321a-9c1d-1f8b-3360a0fdf978@xxxxxxxxxx

--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR