use alloc::{string::String, vec::Vec}; use ext2::{ fs::{sync::Synced, Ext2}, sector::Size1024, }; /// Experimental scratchpad for testing. pub fn scratchpad() { let mut fs = load_fs(); { let found = fs.open(b"/home/able/kernel.md", &OpenOptions::new()); assert!(found.is_ok()); let inode = found.unwrap(); let mut vec = Vec::new(); assert!(inode.read_to_end(&mut vec).is_ok()); println!("{}", String::from_utf8_lossy(&vec)); } // let x = fs.create_dir(b"/config/", &DirOptions::new()); } fn load_fs() -> Synced>> { let file = include_bytes!("../../userland/root_rs/ext2.img"); let mut volume = Vec::new(); volume.extend_from_slice(file); /* let fs = Ext2::::new(volume); match fs { Ok(filesystem) => { info!("{}", filesystem.total_inodes_count()); let vers = filesystem.version(); info!("version: {}.{}", vers.0, vers.1); } Err(_) => todo!(), } */ // let abc: Result<, _> = Synced::new(volume); let fs = Synced::>::new(volume); assert!( fs.is_ok(), "Err({:?})", fs.err().unwrap_or_else(|| unreachable!()), ); let fs = fs.unwrap(); fs } use genfs::{DirOptions, Fs, OpenOptions};