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

Merge branch 'master' of https://github.com/redox-os/redoxfs

parents 862e9b0a 154b456d
No related branches found
No related tags found
No related merge requests found
...@@ -136,7 +136,7 @@ impl Filesystem for Fuse { ...@@ -136,7 +136,7 @@ impl Filesystem for Fuse {
if let Some(mtime) = mtime { if let Some(mtime) = mtime {
match self.fs.node(block) { match self.fs.node(block) {
Ok(mut node) => if mtime.sec as u64 > node.1.mtime || (mtime.sec as u64 == node.1.mtime && mtime.nsec as u32 > node.1.mtime_nsec) { Ok(mut node) => {
node.1.mtime = mtime.sec as u64; node.1.mtime = mtime.sec as u64;
node.1.mtime_nsec = mtime.nsec as u32; node.1.mtime_nsec = mtime.nsec as u32;
if let Err(err) = self.fs.write_at(node.0, &node.1) { if let Err(err) = self.fs.write_at(node.0, &node.1) {
...@@ -197,20 +197,32 @@ impl Filesystem for Fuse { ...@@ -197,20 +197,32 @@ impl Filesystem for Fuse {
let mut children = Vec::new(); let mut children = Vec::new();
match self.fs.child_nodes(&mut children, parent_block) { match self.fs.child_nodes(&mut children, parent_block) {
Ok(()) => { Ok(()) => {
let mut i;
let skip;
if offset == 0 { if offset == 0 {
let mut i = 0; skip = 0;
i = 0;
reply.add(parent_block - self.fs.header.0, i, FileType::Directory, "."); reply.add(parent_block - self.fs.header.0, i, FileType::Directory, ".");
i += 1; i += 1;
reply.add(parent_block - self.fs.header.0, i, FileType::Directory, ".."); reply.add(parent_block - self.fs.header.0, i, FileType::Directory, "..");
i += 1; i += 1;
for child in children.iter() { } else {
reply.add(child.0 - self.fs.header.0, i, if child.1.is_dir() { i = offset + 1;
FileType::Directory skip = offset as usize - 1;
} else { }
FileType::RegularFile
}, child.1.name().unwrap()); for child in children.iter().skip(skip) {
i += 1; let full = reply.add(child.0 - self.fs.header.0, i, if child.1.is_dir() {
FileType::Directory
} else {
FileType::RegularFile
}, child.1.name().unwrap());
if full {
break;
} }
i += 1;
} }
reply.ok(); reply.ok();
}, },
......
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