• Linus Torvalds's avatar
    vfs: get rid of 'struct dcache_hash_bucket' abstraction · b07ad996
    Linus Torvalds authored
    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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b07ad996
dcache.c 78.1 KB