• Al Viro's avatar
    deal with deadlock in d_walk() · 2d5a2e67
    Al Viro authored
    commit ca5358ef upstream.
    
    ... by not hitting rename_retry for reasons other than rename having
    happened.  In other words, do _not_ restart when finding that
    between unlocking the child and locking the parent the former got
    into __dentry_kill().  Skip the killed siblings instead...
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    [bwh: Backported to 3.2:
     - As we only have try_to_ascend() and not d_walk(), apply this
       change to all callers of try_to_ascend()
     - Adjust context to make __dentry_kill() apply to d_kill()]
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    2d5a2e67
dcache.c 77.9 KB