On Sun, 17 Sept 2023 at 11:58, Theodore Ts'o <tytso@xxxxxxx> wrote: > > Ext4 uses buffer_heads, and wasn't on your list because we don't use > sb_bread(). Heh. Look closer at my list. ext4 actually was on my list, and it turns out that's just because 'sb_bread()' is still mentioned in a comment. I did say that my list wasn't really the result of any exhaustive analysis, but I picked up ext4 by luck. And yes, ext4 was also one of the reasons I then mentioned that within the contexts of individual filesystems, it may make sense to deprecate the use of buffer heads. Because yes, buffer heads _are_ old and overly simplistic. And I don't really disagree with people who don't want to extend on them any more. There are better models. I think buffer heads are great for one thing, and really one thing only: legacy use cases. So I don't think it should be a shock to anybody that most of the listed filesystems are random old legacy cases (or related to such - exfat). But "old" does not mean "bad". And legacy in many ways is worth cherishing. It needs to become a whole lot more painful than buffer heads have ever been to be a real issue. It is in fact somewhat telling that of that list of odds and ends there was *one* filesystem that was mentioned in this thread that is actively being deprecated (and happens to use buffer heads). And that filesystem has been explicitly not maintained, and is being deprecated partly exactly because it is the opposite of cherished. So the pain isn't worth it. All largely for some rather obvious non-technical reasons. So while reiserfs was mentioned as some kind of "good model for deprecation", let's be *real* here. The reason nobody wants to have anything to do with reiserfs is that Hans Reiser murdered his wife. And I really *really* hope nobody takes that to heart as a good model for filesystem deprecation. Linus