tech-kern archive

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

Removing softdep


Over the last year I spent quite a lot of time working on ffs and softdep.
With softdep there are many remaining deadlock conditions and bugs that we
know about, and it's very likely there are more to be discovered. I also
know from experience that softdep on NetBSD does not fulfill its data
integrity promises.

Many of these problems have existed for over 8 years, and we haven't made
progress in resolving them. I believe that's simply because the softdep code
is difficult and time consuming to maintain. Some of the bugs that I know of
are easy to reproduce and particularly difficult to fix.

After 5.0 is branched we're planning to merge in the ffs journalling code
contributed by Wasabi. It could use some performance improvements on
multiuser systems, and maybe a few other tweaks like auto-creating the
journal. However, it _is_ known to meet its data integrity promises, and is
a much easier code base to maintain and work with.

So, I propose to remove softdep when we import the journalling code, and to
go forward with the focus on improving journalling.

In the past I have discussed this with others and have been reminded of the
merits/drawbacks of journalling compared with softdep and vice-versa. I know
about the respective theories of operation and I don't see how they are
relevant. From the user's perspective they both claim to provide roughly the
same benefits in their full forms.



Home | Main Index | Thread Index | Old Index