]> git.baikalelectronics.ru Git - kernel.git/commit
vfs: get rid of 'struct dcache_hash_bucket' abstraction
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 24 Apr 2011 05:32:03 +0000 (22:32 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 24 Apr 2011 05:32:03 +0000 (22:32 -0700)
commitabcaedead6f48d39e72df693c7d2788ca8fed5bb
tree33ce9c53602f1983cff5dd5f209bb668fb7ffca5
parent0c160f8bccf0021ab80b888419ba588afe526f56
vfs: get rid of 'struct dcache_hash_bucket' abstraction

It's a useless abstraction for 'hlist_bl_head', and it doesn't actually
help anything - quite the reverse.  All the users end up having to know
about the hlist_bl_head details anyway, using 'struct hlist_bl_node *'
etc. So it just makes the code look confusing.

And the cost of it is extra '&b->head' syntactic noise, but more
importantly it spuriously makes the hash table dentry list look
different from the per-superblock DCACHE_DISCONNECTED dentry list.

As a result, the code ended up using ad-hoc locking for one case and
special helper functions for what is really another totally identical
case in the very same function.

Make it all look and work the same.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/dcache.c