From cb2bcf9f59e512b02487759f3d57d4c7b3f18d20 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 2 Apr 2019 20:18:40 -0600 Subject: [PATCH] Fix redoxfs fmap using incorrect offset --- src/mount/redox/resource.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mount/redox/resource.rs b/src/mount/redox/resource.rs index f7d9ddc373..664efe6655 100644 --- a/src/mount/redox/resource.rs +++ b/src/mount/redox/resource.rs @@ -209,9 +209,10 @@ impl FileResource { // Minimum out of our size and the original file size let actual_size = (value.actual_size - rel_offset).min(key_exact.size); + let mtime = SystemTime::now().duration_since(UNIX_EPOCH).unwrap(); + let mut count = 0; while count < actual_size { - let mtime = SystemTime::now().duration_since(UNIX_EPOCH).unwrap(); match fs.write_node(self.block, key_exact.offset as u64 + count as u64, &value.buffer[rel_offset..][count..actual_size], mtime.as_secs(), mtime.subsec_nanos())? { @@ -317,7 +318,7 @@ impl Resource for FileResource { let mut count = 0; while count < key_round.size { match fs.read_node(self.block, key_round.offset as u64 + count as u64, - &mut content[key_round.offset..][count..key_round.size])? { + &mut content[count..key_round.size])? { 0 => break, n => count += n }