summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorKonstantin Komarov <almaz.alexandrovich@paragon-software.com>2025-12-12 14:27:48 +0300
committerSasha Levin <sashal@kernel.org>2026-03-04 07:20:37 -0500
commitb67fb01429fff093ac5dfe4a2cb9822b86382374 (patch)
tree18726d554274b1c173f4eb311c02717c5dae62fd /fs
parent9779a6eaaabdf47aa57910d352b398ad742e6a5f (diff)
fs/ntfs3: drop preallocated clusters for sparse and compressed files
[ Upstream commit 3a6aba7f3cf2b46816e08548c254d98de9c74eba ] Do not keep preallocated clusters for sparsed and compressed files. Preserving preallocation in these cases causes fsx failures when running with sparse files and preallocation enabled. Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/ntfs3/attrib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ntfs3/attrib.c b/fs/ntfs3/attrib.c
index f0ff85b7d76d..5a7675112e7b 100644
--- a/fs/ntfs3/attrib.c
+++ b/fs/ntfs3/attrib.c
@@ -448,8 +448,10 @@ again:
is_ext = is_attr_ext(attr_b);
align = sbi->cluster_size;
- if (is_ext)
+ if (is_ext) {
align <<= attr_b->nres.c_unit;
+ keep_prealloc = false;
+ }
old_valid = le64_to_cpu(attr_b->nres.valid_size);
old_size = le64_to_cpu(attr_b->nres.data_size);