On Fri, Jun 09, 2023 at 12:36:29PM +0200, Christian Brauner wrote: > On Fri, Jun 09, 2023 at 09:29:58AM +0300, Ariel Miculas wrote: > > Hi all! > > > > This is a proof of concept driver written for the PuzzleFS > > Uhm, the PuzzleFS filesystem isn't actually sent to fsdevel? Yet I see > tons of patches in there that add wrappers to our core fs data > structures. I even see a ton of new files that all fall clearly into > fsdevel territory: > > create mode 100644 rust/kernel/cred.rs > create mode 100644 rust/kernel/delay.rs > create mode 100644 rust/kernel/driver.rs > create mode 100644 rust/kernel/file.rs > create mode 100644 rust/kernel/fs.rs > create mode 100644 rust/kernel/fs/param.rs > create mode 100644 rust/kernel/io_buffer.rs > create mode 100644 rust/kernel/iov_iter.rs > create mode 100644 rust/kernel/mm.rs > create mode 100644 rust/kernel/mount.rs > create mode 100644 rust/kernel/pages.rs > > There's also quite a lot of new mm/ in there, no? > > Any wrappers and code for core fs should be maintained as part of fs. > Rust shouldn't become a way to avoid our reviews once you have a few > wrappers added somewhere. I'm of the opinion that Rust wrappers should generally live in the same directories as the code they're wrapping. The Rust wrappers are unsafe code that is intimately coupled with the C code they're creating safe interfaces for, and the organizational structure should reflect that. This'll be particularly important when mixing Rust and C in the same module, as I intend to do in bcachefs in the not-too-distant future.