On Tue, Jan 25, 2022 at 04:02:56PM -0600, Hayley Leblanc wrote: > I'm a PhD student at UT Austin advised by Vijay Chidambaram (cc'ed). > We are interested in building a file system for persistent memory in > Rust, as recent research [1] has indicated that Rust's safety features > could eliminate some classes of crash consistency bugs in PM systems. > In doing so, we'd like to build a system that has the potential to be > adopted beyond the research community. I have a few questions (below) > about the direction of work in this area within the Linux community, > and would be interested in hearing your thoughts on the general idea > of this project as well. Hi Hayley, Thanks for reaching out to us. First, my standard advice for anyone thinking of writing a Linux filesystem: Absolutely do it; you'll learn so much, and it's a great deal of fun. Then my standard advice for anyone thinking about releasing a Linux filesystem: Think very carefully about whether you want to do it. If you're lucky, it's only about as much work as adopting a puppy. If you're unlucky, it's like adopting a parrot; far more work and it may outlive you. In particular, the demands of academia (generate novel insights, write as many papers as possible, get your PhD) are at odds with the demands of a production filesystem (move slowly, don't break anything, DON'T LOSE USER DATA). You wouldn't be the first person to try to do both, but I think you might be the first person to be successful. There's nothing wrong with having written an academic filesystem that you learned things from. I think I've written three filesystems myself that have never seen a public release -- and I'm totally fine with that. > 1. What is the state of PM file system development in the kernel? I > know that there was some effort to merge NOVA [2] and nvfs [3] in the > last few years, but neither seems to have panned out. Correct. I'm not aware of anything else currently under development. I'd file both those filesystems under "Things people tried and learned things from", although maybe there'll be a renewed push to get one or the other merged. > 2. What is the state of file system work, if any, on the Rust for > Linux side of things? I only have a toe in Rust development, but I'm not aware of any work being done specifically for filesystems, that said ... > 3. We're interested in using a framework called Bento [4] as the basis > for our file system development. Is this project on Linux devs' radar? > What are the rough chances that this work (or something similar) could > end up in the kernel at some point? Bento seems like a good approach (based on a 30 second scan of their git repo). It wasn't on my radar before, so thanks for bringing it up. I think basing your work on Bento is a defensible choice; it might be wrong, but the only way to find out is to try. All this is just my opinion, and it's worth exactly what you're paying for it. I have no say in what gets merged and what doesn't, and I decided academia was not for me after getting my BSc. I hope it all works out for you, and we end up seeing your paper(s) in FAST.