Skip to content
Snippets Groups Projects
Commit e95be4ca authored by Jeremy Soller's avatar Jeremy Soller
Browse files

Dealocate when node size changes

parent 3b787201
No related branches found
No related tags found
No related merge requests found
...@@ -265,6 +265,7 @@ impl FileSystem { ...@@ -265,6 +265,7 @@ impl FileSystem {
} }
} }
self.node_set_len(node.0, 0)?;
self.remove_blocks(node.0, 1, parent_block)?; self.remove_blocks(node.0, 1, parent_block)?;
self.write_at(node.0, &Node::default())?; self.write_at(node.0, &Node::default())?;
...@@ -331,7 +332,11 @@ impl FileSystem { ...@@ -331,7 +332,11 @@ impl FileSystem {
let mut node = self.node(block)?; let mut node = self.node(block)?;
for mut extent in node.1.extents.iter_mut() { for mut extent in node.1.extents.iter_mut() {
if extent.length > length { if extent.length > length {
//TODO: self.deallocate(block, 512)?; let start = (length + 511)/512;
let end = (extent.length + 511)/512
if end > start {
self.deallocate(extent.block + start, (end - start) * 512)?;
}
extent.length = length; extent.length = length;
changed = true; changed = true;
length = 0; length = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment