diff options
| author | Jan Kara <jack@suse.cz> | 2026-07-30 12:42:29 +0200 |
|---|---|---|
| committer | Jan Kara <jack@suse.cz> | 2026-07-30 12:44:42 +0200 |
| commit | 62333e480d12ab186f89fe2725b372d12f72d5eb (patch) | |
| tree | 0d54349a3e93afa166ad94fa3562139a7413f7fb /scripts/Makefile.thinlto | |
| parent | 97e9d759a4193eabe4d8b6ecac093aac664c16e3 (diff) | |
| download | linux-stable-62333e480d12ab186f89fe2725b372d12f72d5eb.tar.gz linux-stable-62333e480d12ab186f89fe2725b372d12f72d5eb.zip | |
udf: Fix data loss when converting inline inodes to out of line
When udf_expand_file_adinicb() converts file from inline format to out
of line, we use filemap_fdatawrite() to writeout the data to the new
blocks. However since 36580ed08776 ("udf: Do not allocate blocks on page
writeback") the writeback actually doesn't allocate the new block and
the folio dirty bit is just silently cleared. Thus unless the file is
written to after the conversion (as it can easily happen in case of
truncate up), the data is just lost. Fix the problem by explicitely
allocating the block underlying the data before starting writeback.
Fixes: 36580ed08776 ("udf: Do not allocate blocks on page writeback")
CC: stable@vger.kernel.org
Link: https://patch.msgid.link/20260730104232.4086759-4-jack@suse.cz
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
