diff --git a/kernel/src/fs/ext2/inode.rs b/kernel/src/fs/ext2/inode.rs index e68a35902..3d306b36f 100644 --- a/kernel/src/fs/ext2/inode.rs +++ b/kernel/src/fs/ext2/inode.rs @@ -2026,7 +2026,7 @@ impl<'a> DeviceRangeReader<'a> { // Updates the range self.range.start += device_range.len() as Ext2Bid; - if device_range.len() == max_cnt { + if device_range.len() == max_cnt && !self.range.is_empty() { // Updates the indirect block self.update_indirect_block()?; }