diff options
| author | Karl Mehltretter <kmehltretter@gmail.com> | 2026-09-22 06:33:01 +0200 |
|---|---|---|
| committer | Namjae Jeon <linkinjeon@kernel.org> | 2026-10-20 18:41:46 +0900 |
| commit | fa5489ebc8bc7c663311b0f35943fe7edd0dfe56 (patch) | |
| tree | 8f90e919eac37600751c7681cf77331f2f788d1a /scripts/Makefile.thinlto | |
| parent | 17a1edda75fd371f36085b1568e0b70baff99969 (diff) | |
| download | linux-fa5489ebc8bc7c663311b0f35943fe7edd0dfe56.tar.gz linux-fa5489ebc8bc7c663311b0f35943fe7edd0dfe56.zip | |
ntfs: include the final partial cluster in sync writes
ntfs_attrlist_repack() synchronously writes the replacement attribute
list before updating its mapping pairs and freeing the old run. With
512-byte clusters, a 544-byte list submits a 512-byte bio, but the
write returns 544 and repack accepts it as complete. If the later
buffered update does not reach disk, the replacement list lacks its
final 32 bytes.
__ntfs_inode_non_resident_attr_pwrite() converts attr_len to clusters
with ntfs_bytes_to_cluster(), which rounds down. Before repack, its
synchronous callers used either cluster-aligned lengths or lengths
smaller than one cluster, where max_t() selects one.
Round attr_len up so repack writes the final partial cluster before
publishing the new mapping pairs.
Fixes: b1d732e62a5b ("ntfs: repack $MFT/$ATTRIBUTE LIST")
Cc: stable@vger.kernel.org
Assisted-by: LLM
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
