summaryrefslogtreecommitdiff
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:36 -0500
commitf37db54fed13ce115005eb574cc54ed01867aeee (patch)
treeb6e18dbe209082a479394d65471f0e34650851a5
parent976e6a7c51fabf150478decbe8ef5d9a26039b7c (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>
-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 96a6ebce0928..f4573d276a2c 100644
--- a/fs/ntfs3/attrib.c
+++ b/fs/ntfs3/attrib.c
@@ -473,8 +473,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);