summary refs log tree commit diff
diff options
context:
space:
mode:
authoredef <edef@unfathomable.blue>2022-05-05 14:49:31 +0000
committeredef <edef@unfathomable.blue>2022-05-05 16:55:48 +0000
commit96d28a91c4b71e6b78f8b9061866f91b2684b19b (patch)
treec7f3dda7c5b2aa2d16391430ac574cae52292069
parent2c807e19f7e3fe431e186ad2734cdf8f219d9338 (diff)
ripple/fossil/mount: document how . and .. work
Change-Id: I6c4d471b2840613d30ee95efe14547f2f9c0db6b
-rw-r--r--ripple/fossil/src/bin/mount.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/ripple/fossil/src/bin/mount.rs b/ripple/fossil/src/bin/mount.rs
index c9c5955..e1752d5 100644
--- a/ripple/fossil/src/bin/mount.rs
+++ b/ripple/fossil/src/bin/mount.rs
@@ -398,8 +398,11 @@ impl fuser::Filesystem for Filesystem {
 				});
 
 				let children = [
-					(ino, fuser::FileType::Directory, "."),
-					(ino, fuser::FileType::Directory, ".."),
+					// XXX: The kernel doesn't actually *care* what inodes we provide,
+					// it just overwrites them with the appropriate ones. We *do* have
+					// to actually include these entries with a nonzero inode, however.
+					(!0, fuser::FileType::Directory, "."),
+					(!0, fuser::FileType::Directory, ".."),
 				]
 				.into_iter()
 				.chain(children);