diff options
Diffstat (limited to 'ayafs-core/src/memory/cached_block.rs')
-rw-r--r-- | ayafs-core/src/memory/cached_block.rs | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/ayafs-core/src/memory/cached_block.rs b/ayafs-core/src/memory/cached_block.rs index 24f08c0..ae0f2a9 100644 --- a/ayafs-core/src/memory/cached_block.rs +++ b/ayafs-core/src/memory/cached_block.rs @@ -4,7 +4,7 @@ use crate::AyaFS; use lru::LruCache; use std::num::NonZeroUsize; use std::sync::Arc; -use log::debug; +use log::trace; #[derive(Clone)] pub struct CachedBlock<T: Block> { @@ -43,14 +43,14 @@ impl<T: Block> BlockCache<T> { pub(crate) fn write_back(&self) { for (_, cached_block) in self.cache.iter() { if cached_block.dirty { - debug!("write_back: dirty block {}", self.global_offset + cached_block.index); + trace!("write_back: dirty block {}", self.global_offset + cached_block.index); let block_buffer = unsafe { let block_ptr = &cached_block.block as *const T as *const u8; std::slice::from_raw_parts(block_ptr, std::mem::size_of::<T>()) }; self.device.write(self.global_offset + cached_block.index, block_buffer); } else { - debug!("write_back: clean block {}", self.global_offset + cached_block.index); + trace!("write_back: clean block {}", self.global_offset + cached_block.index); } } } @@ -68,7 +68,7 @@ impl<T: Block> BlockCache<T> { if let Some((old_index, old_block)) = self.cache.push(index, cached_block) { assert_ne!(old_index, index); // 只有 block 不在 cache 里的时候才会插入 if old_block.dirty { - debug!("write_back: evicted dirty block {} while loading {}", self.global_offset + old_block.index, self.global_offset + index); + trace!("write_back: evicted dirty block {} while loading {}", self.global_offset + old_block.index, self.global_offset + index); let old_block_buffer = unsafe { let old_block_ptr = &old_block.block as *const T as *mut u8; std::slice::from_raw_parts(old_block_ptr, BLOCK_SIZE) @@ -84,18 +84,18 @@ impl<T: Block> BlockCache<T> { /// 这个函数不应该返回 None pub(crate) fn get_block<U: Block>(&mut self, index: usize) -> Option<&CachedBlock<U>> { if !self.cache.contains(&index) { - debug!("get_block(global_block_id: {}) loading from disk", index + self.global_offset); + trace!("get_block(global_block_id: {}) loading from disk", index + self.global_offset); self.load_block(index); } if let Some(block) = self.cache.get(&index) { - debug!("get_block(global_block_id: {}) found", index + self.global_offset); + trace!("get_block(global_block_id: {}) found", index + self.global_offset); Some(convert::<T, U>(block)) } else { - debug!("get_block(global_block_id: {}) not found", index + self.global_offset); + trace!("get_block(global_block_id: {}) not found", index + self.global_offset); None } - // debug!("get_block(global_block_id: {}) found", index + self.global_offset); + // trace!("get_block(global_block_id: {}) found", index + self.global_offset); // self.cache.get(&index).map(convert::<T, U>) } @@ -103,21 +103,21 @@ impl<T: Block> BlockCache<T> { /// 这个函数不应该返回 None pub(crate) fn get_block_mut<U: Block>(&mut self, index: usize) -> Option<&mut CachedBlock<U>> { if !self.cache.contains(&index) { - debug!("get_block_mut(global_block_id: {}) loading from disk", index + self.global_offset); + trace!("get_block_mut(global_block_id: {}) loading from disk", index + self.global_offset); self.load_block(index); } if let Some(block) = self.cache.get_mut(&index) { - debug!("get_block_mut(global_block_id: {}) found", index + self.global_offset); + trace!("get_block_mut(global_block_id: {}) found", index + self.global_offset); block.dirty = true; Some(convert_mut::<T, U>(block)) } else { - debug!("get_block_mut(global_block_id: {}) not found", index + self.global_offset); + trace!("get_block_mut(global_block_id: {}) not found", index + self.global_offset); None } // self.cache.get_mut(&index).map(|block| { - // debug!("get_block_mut(global_block_id: {}) found", index + self.global_offset); + // trace!("get_block_mut(global_block_id: {}) found", index + self.global_offset); // block.dirty = true; // convert_mut::<T, U>(block) // }) @@ -159,7 +159,7 @@ impl<T: Block> BlockCache<T> { data_block.dirty = true; // TODO 需要把显式写回的都标记为 dirty 吗 let (entry, _value) = self.cache.push(block.index, data_block).unwrap(); assert_eq!(entry, block.index); - debug!("update_block(global_block_id: {})", block.index + self.global_offset); + trace!("update_block(global_block_id: {})", block.index + self.global_offset); true } else { false @@ -167,7 +167,7 @@ impl<T: Block> BlockCache<T> { } fn pop(&mut self, entry: usize) -> Option<CachedBlock<T>> { - debug!("pop_block(global_block_id: {})", entry + self.global_offset); + trace!("pop_block(global_block_id: {})", entry + self.global_offset); self.cache.pop(&entry) } } @@ -179,10 +179,10 @@ impl AyaFS { pub(crate) fn get_block<T: Block>(&mut self, index: usize) -> Option<&CachedBlock<T>> { if self.data_bitmap.query(index) { - debug!("get_block(block_id: {}) found", index); + trace!("get_block(block_id: {}) found", index); Some(self.cached_blocks.get_block::<T>(index).unwrap()) } else { - debug!("get_block(block_id: {}) not exist", index); + trace!("get_block(block_id: {}) not exist", index); self.cached_blocks.pop(index); None } |