From 550eafcb79ddff28de8a1c19053392eb92b1c013 Mon Sep 17 00:00:00 2001 From: Yuke Peng Date: Thu, 19 Sep 2024 16:56:42 +0800 Subject: [PATCH] Preallocate some space when expanding size in ramfs --- kernel/src/fs/ramfs/fs.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/src/fs/ramfs/fs.rs b/kernel/src/fs/ramfs/fs.rs index 841506624..2378bfd73 100644 --- a/kernel/src/fs/ramfs/fs.rs +++ b/kernel/src/fs/ramfs/fs.rs @@ -5,6 +5,7 @@ use core::{ time::Duration, }; +use align_ext::AlignExt; use aster_block::bio::BioWaiter; use aster_rights::Full; use aster_util::slot_vec::SlotVec; @@ -614,7 +615,7 @@ impl Inode for RamInode { let new_size = offset + write_len; let should_expand_size = new_size > file_size; if should_expand_size { - page_cache.resize(new_size)?; + page_cache.resize(new_size.align_up(BLOCK_SIZE))?; } page_cache.pages().write(offset, reader)?;