mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/2] ntfs: keep the file size on a failed initialized-size extension
@ 2026-10-28  8:06 Hongling Zeng
  2026-10-28  8:06 ` [PATCH 2/2] ntfs: fix a self-deadlock on writes to non-resident named streams Hongling Zeng
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Hongling Zeng @ 2026-10-28  8:06 UTC (permalink / raw)
  To: linkinjeon, hyc.lee; +Cc: ntfs, linux-kernel, zhongling0719, Hongling Zeng

ntfs_extend_initialized_size() only extends the initialized size and
never changes the data size, but on a failure it calls
truncate_setsize() with the old initialized size, which shrinks the
VFS size down to it and drops the page cache beyond that point.

None of the callers rolls the shrunk size back.  A buffered write
into a hole has nothing to roll back - the data size never changed -
so the file keeps the shrunk size even though the data size on disk
is intact.  The mmap and named stream callers return without any
rollback either.

The sizes did not change, so nothing needs the shrink.  Remove it.

Fixes: af0db57d4293 ("ntfs: update inode operations")
Signed-off-by: Hongling Zeng <zenghongling@kylinos.cn>
---
 fs/ntfs/inode.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c
index 206db4e99ef1..ac13e8776909 100644
--- a/fs/ntfs/inode.c
+++ b/fs/ntfs/inode.c
@@ -2599,8 +2599,6 @@ int ntfs_extend_initialized_size(struct inode *vi, const loff_t offset,
 	mutex_lock(&mrec_ni->mrec_lock);
 	err = ntfs_attr_set_initialized_size(ni, new_size);
 	mutex_unlock(&mrec_ni->mrec_lock);
-	if (err)
-		truncate_setsize(vi, old_init_size);
 out:
 	filemap_invalidate_unlock(vi->i_mapping);
 	return err;
-- 
2.25.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-10-29  8:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-28  8:06 [PATCH 1/2] ntfs: keep the file size on a failed initialized-size extension Hongling Zeng
2026-10-28  8:06 ` [PATCH 2/2] ntfs: fix a self-deadlock on writes to non-resident named streams Hongling Zeng
2026-10-28  8:41   ` liubaolin
2026-10-29  4:28   ` Hyunchul Lee
2026-10-29  8:52   ` Namjae Jeon
2026-10-28  8:41 ` [PATCH 1/2] ntfs: keep the file size on a failed initialized-size extension liubaolin
2026-10-29  4:28 ` Hyunchul Lee
2026-10-29  8:52 ` Namjae Jeon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®