diff --git a/Kernel/FileSystem/Ext2FS/Inode.cpp b/Kernel/FileSystem/Ext2FS/Inode.cpp index f0c600c5a3..3029a925f1 100644 --- a/Kernel/FileSystem/Ext2FS/Inode.cpp +++ b/Kernel/FileSystem/Ext2FS/Inode.cpp @@ -494,6 +494,9 @@ InodeMetadata Ext2FSInode::metadata() const ErrorOr Ext2FSInode::flush_metadata() { MutexLocker locker(m_inode_lock); + if (!is_metadata_dirty()) + return {}; + dbgln_if(EXT2_DEBUG, "Ext2FSInode[{}]::flush_metadata(): Flushing inode", identifier()); TRY(fs().write_ext2_inode(index(), m_raw_inode)); if (is_directory()) { diff --git a/Kernel/FileSystem/Inode.cpp b/Kernel/FileSystem/Inode.cpp index 52b15a4f72..89760dd24c 100644 --- a/Kernel/FileSystem/Inode.cpp +++ b/Kernel/FileSystem/Inode.cpp @@ -39,15 +39,13 @@ void Inode::sync_all() }); for (auto& inode : inodes) { - VERIFY(inode->is_metadata_dirty()); (void)inode->flush_metadata(); } } void Inode::sync() { - if (is_metadata_dirty()) - (void)flush_metadata(); + (void)flush_metadata(); auto result = fs().flush_writes(); if (result.is_error()) { // TODO: Figure out how to propagate error to a higher function.