OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_2pre1-13-gf69aaf6

Gerrit Code Review gerrit@openafs.org
Fri, 21 Dec 2012 10:43:50 -0800 (PST)


The following commit has been merged in the openafs-stable-1_6_x branch:
commit f69aaf6914096077108b534aff8fd147cd6a65ae
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 13 16:36:20 2012 -0600

    LINUX: Avoid infinite d_invalidate loop
    
    If a reference is grabbed after we d_invalidate() a dentry, but before
    we dput() that dentry, the dentry can still be on the alias list for
    its inode. This will cause us to loop forever, since we'll get the
    same dentry back from d_find_alias, and d_invalidate() will return
    success, since it is a no-op.
    
    Avoid this by just limiting the number of times we loop. Leaving
    dentry aliases around is non-critical as long as we clear some each
    time.
    
    This change is not applicable to master, which will get a more robust
    fix for this issue. This change was discussed during the 19 Dec 2012
    release-team meeting.
    
    Change-Id: Ief22ae9f8f6de62518604383c421772c25c5dc26
    Reviewed-on: http://gerrit.openafs.org/8795
    Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

 src/afs/LINUX/osi_vnodeops.c   |    3 ++-
 src/afs/LINUX24/osi_vnodeops.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

-- 
OpenAFS Master Repository