Re: Persistent memory file system development in Rust

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux