chore: fix build warnings (unused vars/imports, dead ext4 param/field/fn)
This commit is contained in:
@@ -91,7 +91,6 @@ pub fn get_display_info(mmio: &impl MmioAccess, queue: &VirtioQueue, dma: &GpuDm
|
|||||||
];
|
];
|
||||||
if !queue.submit(mmio, &descs) { return None; }
|
if !queue.submit(mmio, &descs) { return None; }
|
||||||
unsafe {
|
unsafe {
|
||||||
let resp = dma.resp_pa.raw() as usize;
|
|
||||||
let resp_va = dma.cmd_va.raw() + 512;
|
let resp_va = dma.cmd_va.raw() + 512;
|
||||||
let resp_type = core::ptr::read_volatile(resp_va as *const u32);
|
let resp_type = core::ptr::read_volatile(resp_va as *const u32);
|
||||||
if resp_type != 0x1101 { return None; }
|
if resp_type != 0x1101 { return None; }
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
mod tests;
|
mod tests;
|
||||||
|
|
||||||
use core::future::Future;
|
use core::future::Future;
|
||||||
use core::pin::Pin;
|
|
||||||
use core::task::{Context, Poll, RawWaker, RawWakerVTable, Waker};
|
use core::task::{Context, Poll, RawWaker, RawWakerVTable, Waker};
|
||||||
|
|
||||||
fn noop_raw_waker() -> RawWaker {
|
fn noop_raw_waker() -> RawWaker {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use server_framework::Server;
|
use server_framework::Server;
|
||||||
use types::id::ProcessId;
|
use types::id::ProcessId;
|
||||||
|
|
||||||
use crate::protocol::{CapabilityKind, PermissionRequest, PermissionResponse};
|
use crate::protocol::{PermissionRequest, PermissionResponse};
|
||||||
|
|
||||||
const MAX_PROCESSES: usize = 64;
|
const MAX_PROCESSES: usize = 64;
|
||||||
const NUM_KINDS: usize = 9;
|
const NUM_KINDS: usize = 9;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ use port_block_device::BlockDevice;
|
|||||||
use crate::filesystem::{DirEntry, FileName};
|
use crate::filesystem::{DirEntry, FileName};
|
||||||
use super::io::{read_block, write_block, read_u32, write_u32, read_u16, write_u16};
|
use super::io::{read_block, write_block, read_u32, write_u32, read_u16, write_u16};
|
||||||
use super::superblock::Superblock;
|
use super::superblock::Superblock;
|
||||||
use super::bgd::BlockGroupDescriptor;
|
|
||||||
use super::{Inode, Extent, EXTENT_MAGIC};
|
use super::{Inode, Extent, EXTENT_MAGIC};
|
||||||
|
|
||||||
fn align4(n: usize) -> usize {
|
fn align4(n: usize) -> usize {
|
||||||
@@ -12,7 +11,6 @@ fn align4(n: usize) -> usize {
|
|||||||
pub fn find_entry<B: BlockDevice>(
|
pub fn find_entry<B: BlockDevice>(
|
||||||
device: &mut B,
|
device: &mut B,
|
||||||
sb: &Superblock,
|
sb: &Superblock,
|
||||||
gdt_block: u32,
|
|
||||||
dir_inode: &Inode,
|
dir_inode: &Inode,
|
||||||
name: &[u8],
|
name: &[u8],
|
||||||
) -> Option<u32> {
|
) -> Option<u32> {
|
||||||
@@ -54,7 +52,6 @@ pub fn find_entry<B: BlockDevice>(
|
|||||||
pub fn add_entry<B: BlockDevice>(
|
pub fn add_entry<B: BlockDevice>(
|
||||||
device: &mut B,
|
device: &mut B,
|
||||||
sb: &Superblock,
|
sb: &Superblock,
|
||||||
gdt_block: u32,
|
|
||||||
dir_inode: &Inode,
|
dir_inode: &Inode,
|
||||||
name: &[u8],
|
name: &[u8],
|
||||||
child_inode: u32,
|
child_inode: u32,
|
||||||
@@ -79,7 +76,6 @@ pub fn add_entry<B: BlockDevice>(
|
|||||||
let phys = ext.physical_block + blk;
|
let phys = ext.physical_block + blk;
|
||||||
read_block(device, phys, spb, &mut block_buf);
|
read_block(device, phys, spb, &mut block_buf);
|
||||||
let mut pos = 0;
|
let mut pos = 0;
|
||||||
let mut prev_pos = 0;
|
|
||||||
while pos + 8 <= sb.block_size {
|
while pos + 8 <= sb.block_size {
|
||||||
let entry_inode = read_u32(&block_buf, pos);
|
let entry_inode = read_u32(&block_buf, pos);
|
||||||
let rec_len = read_u16(&block_buf, pos + 4) as usize;
|
let rec_len = read_u16(&block_buf, pos + 4) as usize;
|
||||||
@@ -113,7 +109,6 @@ pub fn add_entry<B: BlockDevice>(
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
prev_pos = pos;
|
|
||||||
pos += rec_len;
|
pos += rec_len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -124,7 +119,6 @@ pub fn add_entry<B: BlockDevice>(
|
|||||||
pub fn remove_entry<B: BlockDevice>(
|
pub fn remove_entry<B: BlockDevice>(
|
||||||
device: &mut B,
|
device: &mut B,
|
||||||
sb: &Superblock,
|
sb: &Superblock,
|
||||||
gdt_block: u32,
|
|
||||||
dir_inode: &Inode,
|
dir_inode: &Inode,
|
||||||
name: &[u8],
|
name: &[u8],
|
||||||
) -> Option<u32> {
|
) -> Option<u32> {
|
||||||
|
|||||||
@@ -5,17 +5,6 @@ use super::{Ext4, Extent, Inode, EXTENT_MAGIC};
|
|||||||
use port_block_device::BlockDevice;
|
use port_block_device::BlockDevice;
|
||||||
|
|
||||||
impl<B: BlockDevice> Ext4<B> {
|
impl<B: BlockDevice> Ext4<B> {
|
||||||
pub(super) fn read_extents(&self, inode: &Inode) -> Option<Extent> {
|
|
||||||
if !inode.uses_extents() { return None; }
|
|
||||||
let hdr = &inode.block_data;
|
|
||||||
let magic = read_u16(hdr, 0);
|
|
||||||
if magic != EXTENT_MAGIC { return None; }
|
|
||||||
let entries = read_u16(hdr, 2);
|
|
||||||
let depth = read_u16(hdr, 6);
|
|
||||||
if depth != 0 || entries == 0 { return None; }
|
|
||||||
Some(Extent::parse(&hdr[12..24]))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub(super) fn map_logical_block(&mut self, inode: &Inode, logical_block: u32) -> Option<u64> {
|
pub(super) fn map_logical_block(&mut self, inode: &Inode, logical_block: u32) -> Option<u64> {
|
||||||
if !inode.uses_extents() { return None; }
|
if !inode.uses_extents() { return None; }
|
||||||
let hdr = &inode.block_data;
|
let hdr = &inode.block_data;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ mod inode;
|
|||||||
mod path;
|
mod path;
|
||||||
|
|
||||||
use port_block_device::BlockDevice;
|
use port_block_device::BlockDevice;
|
||||||
use crate::filesystem::{DirEntry, FileHandle, FileName, FileSystem};
|
use crate::filesystem::{DirEntry, FileHandle, FileSystem};
|
||||||
use io::read_block;
|
use io::read_block;
|
||||||
use superblock::Superblock;
|
use superblock::Superblock;
|
||||||
|
|
||||||
@@ -24,7 +24,6 @@ struct OpenFile {
|
|||||||
inode_num: u32,
|
inode_num: u32,
|
||||||
size: usize,
|
size: usize,
|
||||||
offset: usize,
|
offset: usize,
|
||||||
name: FileName,
|
|
||||||
block_data: [u8; 60],
|
block_data: [u8; 60],
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,7 +63,6 @@ impl<B: BlockDevice> FileSystem for Ext4<B> {
|
|||||||
inode_num,
|
inode_num,
|
||||||
size: inode.size as usize,
|
size: inode.size as usize,
|
||||||
offset: 0,
|
offset: 0,
|
||||||
name: FileName::from_bytes(path),
|
|
||||||
block_data: inode.block_data,
|
block_data: inode.block_data,
|
||||||
});
|
});
|
||||||
Some(handle)
|
Some(handle)
|
||||||
@@ -193,7 +191,7 @@ impl<B: BlockDevice> FileSystem for Ext4<B> {
|
|||||||
for i in 0..count {
|
for i in 0..count {
|
||||||
if !entries[i].is_dir {
|
if !entries[i].is_dir {
|
||||||
let name = entries[i].name;
|
let name = entries[i].name;
|
||||||
if let Some(child_ino) = dir::find_entry(&mut self.device, &self.sb, self.gdt_block, &inode, name.as_bytes()) {
|
if let Some(child_ino) = dir::find_entry(&mut self.device, &self.sb, &inode, name.as_bytes()) {
|
||||||
if let Some(child) = self.read_inode(child_ino) {
|
if let Some(child) = self.read_inode(child_ino) {
|
||||||
entries[i].size = child.size as usize;
|
entries[i].size = child.size as usize;
|
||||||
}
|
}
|
||||||
@@ -208,7 +206,7 @@ impl<B: BlockDevice> FileSystem for Ext4<B> {
|
|||||||
let parent_inode = self.read_inode(parent_inode_num)?;
|
let parent_inode = self.read_inode(parent_inode_num)?;
|
||||||
if !parent_inode.is_dir() { return None; }
|
if !parent_inode.is_dir() { return None; }
|
||||||
|
|
||||||
if dir::find_entry(&mut self.device, &self.sb, self.gdt_block, &parent_inode, filename).is_some() {
|
if dir::find_entry(&mut self.device, &self.sb, &parent_inode, filename).is_some() {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -217,7 +215,7 @@ impl<B: BlockDevice> FileSystem for Ext4<B> {
|
|||||||
self.write_inode(new_inode_num, &new_inode);
|
self.write_inode(new_inode_num, &new_inode);
|
||||||
|
|
||||||
let parent_inode = self.read_inode(parent_inode_num)?;
|
let parent_inode = self.read_inode(parent_inode_num)?;
|
||||||
if !dir::add_entry(&mut self.device, &self.sb, self.gdt_block, &parent_inode, filename, new_inode_num, 1) {
|
if !dir::add_entry(&mut self.device, &self.sb, &parent_inode, filename, new_inode_num, 1) {
|
||||||
self.free_inode(new_inode_num);
|
self.free_inode(new_inode_num);
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
@@ -227,7 +225,6 @@ impl<B: BlockDevice> FileSystem for Ext4<B> {
|
|||||||
inode_num: new_inode_num,
|
inode_num: new_inode_num,
|
||||||
size: 0,
|
size: 0,
|
||||||
offset: 0,
|
offset: 0,
|
||||||
name: FileName::from_bytes(path),
|
|
||||||
block_data: new_inode.block_data,
|
block_data: new_inode.block_data,
|
||||||
});
|
});
|
||||||
Some(handle)
|
Some(handle)
|
||||||
@@ -243,7 +240,7 @@ impl<B: BlockDevice> FileSystem for Ext4<B> {
|
|||||||
None => return false,
|
None => return false,
|
||||||
};
|
};
|
||||||
|
|
||||||
let child_inode_num = match dir::find_entry(&mut self.device, &self.sb, self.gdt_block, &parent_inode, filename) {
|
let child_inode_num = match dir::find_entry(&mut self.device, &self.sb, &parent_inode, filename) {
|
||||||
Some(n) => n,
|
Some(n) => n,
|
||||||
None => return false,
|
None => return false,
|
||||||
};
|
};
|
||||||
@@ -258,7 +255,7 @@ impl<B: BlockDevice> FileSystem for Ext4<B> {
|
|||||||
Some(i) => i,
|
Some(i) => i,
|
||||||
None => return false,
|
None => return false,
|
||||||
};
|
};
|
||||||
if dir::remove_entry(&mut self.device, &self.sb, self.gdt_block, &parent_inode, filename).is_none() {
|
if dir::remove_entry(&mut self.device, &self.sb, &parent_inode, filename).is_none() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -292,7 +289,7 @@ impl<B: BlockDevice> FileSystem for Ext4<B> {
|
|||||||
};
|
};
|
||||||
if !parent_inode.is_dir() { return false; }
|
if !parent_inode.is_dir() { return false; }
|
||||||
|
|
||||||
if dir::find_entry(&mut self.device, &self.sb, self.gdt_block, &parent_inode, dirname).is_some() {
|
if dir::find_entry(&mut self.device, &self.sb, &parent_inode, dirname).is_some() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -324,7 +321,7 @@ impl<B: BlockDevice> FileSystem for Ext4<B> {
|
|||||||
Some(i) => i,
|
Some(i) => i,
|
||||||
None => return false,
|
None => return false,
|
||||||
};
|
};
|
||||||
if !dir::add_entry(&mut self.device, &self.sb, self.gdt_block, &parent_inode, dirname, new_inode_num, 2) {
|
if !dir::add_entry(&mut self.device, &self.sb, &parent_inode, dirname, new_inode_num, 2) {
|
||||||
self.free_block(new_block);
|
self.free_block(new_block);
|
||||||
self.free_inode(new_inode_num);
|
self.free_inode(new_inode_num);
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ impl<B: BlockDevice> Ext4<B> {
|
|||||||
|
|
||||||
pub fn find_in_dir_pub(&mut self, dir_inode_num: u32, name: &[u8]) -> Option<u32> {
|
pub fn find_in_dir_pub(&mut self, dir_inode_num: u32, name: &[u8]) -> Option<u32> {
|
||||||
let inode = self.read_inode(dir_inode_num)?;
|
let inode = self.read_inode(dir_inode_num)?;
|
||||||
dir::find_entry(&mut self.device, &self.sb, self.gdt_block, &inode, name)
|
dir::find_entry(&mut self.device, &self.sb, &inode, name)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn add_dir_entry(&mut self, dir_inode_num: u32, name: &[u8], child_inode: u32, file_type: u8) -> bool {
|
pub fn add_dir_entry(&mut self, dir_inode_num: u32, name: &[u8], child_inode: u32, file_type: u8) -> bool {
|
||||||
@@ -35,17 +35,17 @@ impl<B: BlockDevice> Ext4<B> {
|
|||||||
Some(i) => i,
|
Some(i) => i,
|
||||||
None => return false,
|
None => return false,
|
||||||
};
|
};
|
||||||
dir::add_entry(&mut self.device, &self.sb, self.gdt_block, &inode, name, child_inode, file_type)
|
dir::add_entry(&mut self.device, &self.sb, &inode, name, child_inode, file_type)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn remove_dir_entry(&mut self, dir_inode_num: u32, name: &[u8]) -> Option<u32> {
|
pub fn remove_dir_entry(&mut self, dir_inode_num: u32, name: &[u8]) -> Option<u32> {
|
||||||
let inode = self.read_inode(dir_inode_num)?;
|
let inode = self.read_inode(dir_inode_num)?;
|
||||||
dir::remove_entry(&mut self.device, &self.sb, self.gdt_block, &inode, name)
|
dir::remove_entry(&mut self.device, &self.sb, &inode, name)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) fn find_in_dir(&mut self, dir_inode: u32, name: &[u8]) -> Option<u32> {
|
pub(super) fn find_in_dir(&mut self, dir_inode: u32, name: &[u8]) -> Option<u32> {
|
||||||
let inode = self.read_inode(dir_inode)?;
|
let inode = self.read_inode(dir_inode)?;
|
||||||
dir::find_entry(&mut self.device, &self.sb, self.gdt_block, &inode, name)
|
dir::find_entry(&mut self.device, &self.sb, &inode, name)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) fn resolve_path(&mut self, path: &[u8]) -> Option<u32> {
|
pub(super) fn resolve_path(&mut self, path: &[u8]) -> Option<u32> {
|
||||||
|
|||||||
Reference in New Issue
Block a user