diff --git a/storage/virtio-blkd/src/scheme.rs b/storage/virtio-blkd/src/scheme.rs
index 3eec34d69b..3b37b547ff 100644
--- a/storage/virtio-blkd/src/scheme.rs
+++ b/storage/virtio-blkd/src/scheme.rs
@@ -210,10 +210,10 @@ impl<'a> SchemeBlockMut for DiskScheme<'a> {
// to the namespace id).
write!(list, "{}\n", 0).unwrap();
- let part_table = self.part_table.as_ref().unwrap();
-
- for part_num in 0..part_table.partitions.len() {
- write!(list, "{}p{}\n", 0, part_num).unwrap();
+ if let Some(part_table) = &self.part_table {
+ for part_num in 0..part_table.partitions.len() {
+ write!(list, "{}p{}\n", 0, part_num).unwrap();
+ }
}
let id = self.next_id;
@@ -389,8 +389,11 @@ impl<'a> SchemeBlockMut for DiskScheme<'a> {
todo!()
}
- fn fstat(&mut self, _id: usize, _stat: &mut syscall::Stat) -> syscall::Result