• Waiman Long's avatar
    vfs: make the dentry cache use the lockref infrastructure · 98474236
    Waiman Long authored
    This just replaces the dentry count/lock combination with the lockref
    structure that contains both a count and a spinlock, and does the
    mechanical conversion to use the lockref infrastructure.
    
    There are no semantic changes here, it's purely syntactic.  The
    reference lockref implementation uses the spinlock exactly the same way
    that the old dcache code did, and the bulk of this patch is just
    expanding the internal "d_count" use in the dcache code to use
    "d_lockref.count" instead.
    
    This is purely preparation for the real change to make the reference
    count updates be lockless during the 3.12 merge window.
    
    [ As with the previous commit, this is a rewritten version of a concept
      originally from Waiman, so credit goes to him, blame for any errors
      goes to me.
    
      Waiman's patch had some semantic differences for taking advantage of
      the lockless update in dget_parent(), while this patch is
      intentionally a pure search-and-replace change with no semantic
      changes.     - Linus ]
    Signed-off-by: default avatarWaiman Long <Waiman.Long@hp.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    98474236
dcache.c 78.5 KB