@@ -594,6 +594,7 @@ ErrorOr<size_t> Ext2FSInode::read_bytes_locked(off_t offset, size_t count, UserO
594
594
595
595
ErrorOr<void > Ext2FSInode::resize (u64 new_size)
596
596
{
597
+ VERIFY (m_inode_lock.is_locked ());
597
598
auto old_size = size ();
598
599
if (old_size == new_size)
599
600
return {};
@@ -655,7 +656,7 @@ ErrorOr<void> Ext2FSInode::resize(u64 new_size)
655
656
auto clear_from = old_size;
656
657
u8 zero_buffer[PAGE_SIZE] {};
657
658
while (bytes_to_clear) {
658
- auto nwritten = TRY (write_bytes (clear_from, min (static_cast <u64 >(sizeof (zero_buffer)), bytes_to_clear), UserOrKernelBuffer::for_kernel_buffer (zero_buffer), nullptr ));
659
+ auto nwritten = TRY (prepare_and_write_bytes_locked (clear_from, min (static_cast <u64 >(sizeof (zero_buffer)), bytes_to_clear), UserOrKernelBuffer::for_kernel_buffer (zero_buffer), nullptr ));
659
660
VERIFY (nwritten != 0 );
660
661
bytes_to_clear -= nwritten;
661
662
clear_from += nwritten;
@@ -816,7 +817,7 @@ ErrorOr<void> Ext2FSInode::write_directory(Vector<Ext2FSDirectoryEntry>& entries
816
817
TRY (resize (serialized_bytes_count));
817
818
818
819
auto buffer = UserOrKernelBuffer::for_kernel_buffer (directory_data.data ());
819
- auto nwritten = TRY (write_bytes (0 , serialized_bytes_count, buffer, nullptr ));
820
+ auto nwritten = TRY (prepare_and_write_bytes_locked (0 , serialized_bytes_count, buffer, nullptr ));
820
821
set_metadata_dirty (true );
821
822
if (nwritten != directory_data.size ())
822
823
return EIO;
0 commit comments