pub trait Storage {
fn read(&self, off: usize, buf: &mut [u8]) -> Result<usize, FsError>;
fn write(&mut self, off: usize, data: &[u8]) -> Result<usize, FsError>;
fn erase(&mut self, off: usize, len: usize) -> Result<usize, FsError>;
}
pub trait Storage {
fn read(&self, off: usize, buf: &mut [u8]) -> Result<usize, FsError>;
fn write(&mut self, off: usize, data: &[u8]) -> Result<usize, FsError>;
fn erase(&mut self, off: usize, len: usize) -> Result<usize, FsError>;
}