diff --git a/Kernel/FileSystem/Ext2FS/Inode.cpp b/Kernel/FileSystem/Ext2FS/Inode.cpp index 868b6aa253..a555ee1653 100644 --- a/Kernel/FileSystem/Ext2FS/Inode.cpp +++ b/Kernel/FileSystem/Ext2FS/Inode.cpp @@ -1078,6 +1078,7 @@ ErrorOr Ext2FSInode::truncate(u64 size) return {}; TRY(resize(size)); set_metadata_dirty(true); + did_modify_contents(); return {}; } diff --git a/Kernel/FileSystem/InodeFile.cpp b/Kernel/FileSystem/InodeFile.cpp index cd429b101b..b646e39b7c 100644 --- a/Kernel/FileSystem/InodeFile.cpp +++ b/Kernel/FileSystem/InodeFile.cpp @@ -96,6 +96,7 @@ ErrorOr> InodeFile::pseudo_path(OpenFileDescription const ErrorOr InodeFile::truncate(u64 size) { TRY(m_inode->truncate(size)); + // FIXME: Make sure that the timestamps are updated by Inode::truncate for all filesystems before removing this. auto truncated_at = kgettimeofday(); TRY(m_inode->update_timestamps({}, truncated_at, truncated_at)); return {}; diff --git a/Kernel/FileSystem/RAMFS/Inode.cpp b/Kernel/FileSystem/RAMFS/Inode.cpp index d96bffd4d7..ae0ada01f6 100644 --- a/Kernel/FileSystem/RAMFS/Inode.cpp +++ b/Kernel/FileSystem/RAMFS/Inode.cpp @@ -380,6 +380,7 @@ ErrorOr RAMFSInode::truncate(u64 size) } m_metadata.size = size; set_metadata_dirty(true); + did_modify_contents(); return {}; }