On Tue, 9 Jan 2024 at 16:32, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > On Tue, Jan 09, 2024 at 07:25:38PM +0000, Matthew Wilcox wrote: > > You've misunderstood Greg. He's saying (effectively) "No fs bindings > > without a filesystem to use them". And Al, myself and others are saying > > "Your filesystem interfaces are wrong because they're not usable for real > > filesystems". And you're saying "But I'm not allowed to change them". > > And that's not true. Change them to be laid out how a real filesystem > > would need them to be. Ok, then I'll update the code to have 3 additional traits: FileOperations INodeOperations AddressSpaceOperations When one initialises an inode, one gets to pick all three. And FileOperations::read_dir will take a File<T> as its first argument (instead of an INode<T>). Does this sound reasonable? > Note, I agree, change them to work our a "real" filesystem would need > them and then, automatically, all of the "fake" filesystems like > currently underway (i.e. tarfs) will work just fine too, right? That > way we can drop the .c code for binderfs at the same time, also a nice > win. Are you volunteering to rewrite binderfs once rust bindings are available? :) Cheers, -Wedson