On Sun, Sep 20, 2020 at 4:31 PM Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > And if we do end up doing it at both levels, and end up having some of > the locking duplicated, that's still better than "sometimes we don't > do it at all", and have odd problems on the less usual (and often less > well maintained) filesystems.. Doing locking at a higher level also often allows for much more easily changing and improving semantics. For example, the only reason we have absolutely the best pathname lookup in the industry (by a couple of orders of magnitude) is that it's done by the VFS layer and the dentry caching has been worked on for decades to tune it and do all the lockless lookups. That would simply not have been possible to do at a filesystem level. A filesystem might have some complex and cumbersom code to do multiple sequential lookups as long as they stay inside that filesystem, but it would be ugly and it would be strictly worse than what the VFS layer can and does do. That is a fairly extreme example of course - and pathname resolution really is somewhat odd - but I do think there are advantages to having locking and access rules that are centralized across filesystems. Linus