summaryrefslogtreecommitdiff
path: root/ayafs-core/src/memory/cached_block.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ayafs-core/src/memory/cached_block.rs')
-rw-r--r--ayafs-core/src/memory/cached_block.rs32
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
}