OpenAFS Master Repository branch, openafs-stable-1_4_x, updated. openafs-stable-1_4_12-118-g910f3d4

Gerrit Code Review gerrit@openafs.org
Sun, 22 May 2011 08:32:08 -0700 (PDT)


The following commit has been merged in the openafs-stable-1_4_x branch:
commit 910f3d4cbba4cd78a8e6afa0b32e37ed7f292d18
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 5 11:18:08 2011 -0500

    libafs: Get rx conn ref with afs conn ref
    
    When we get a reference to an afs_conn with afs_Conn and its variants,
    we assume we can use the tc->id rx connection without holding any
    locks. However, if tc->forceConnectFS gets set, the tc->id connection
    can be destroyed and recreated out from under us. So, to avoid using a
    possibly freed rx connection, grab a reference to the rx connection at
    the same time as we grab a reference to the afs conn. And also put
    back the same reference with afs_PutConn.
    
    Reviewed-on: http://gerrit.openafs.org/4625
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit 03f0c656c1734b9be4debdf19b8f10771ff4420a)
    
    Change-Id: I5bef36da0a4337d923a68f1d352b4aad1143395a
    Reviewed-on: http://gerrit.openafs.org/4648
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

 src/afs/VNOPS/afs_vnop_create.c  |    7 ++--
 src/afs/VNOPS/afs_vnop_dirops.c  |   14 +++++---
 src/afs/VNOPS/afs_vnop_flock.c   |   28 +++++++++-------
 src/afs/VNOPS/afs_vnop_link.c    |    7 ++--
 src/afs/VNOPS/afs_vnop_lookup.c  |   13 ++++---
 src/afs/VNOPS/afs_vnop_remove.c  |    7 ++--
 src/afs/VNOPS/afs_vnop_rename.c  |    7 ++--
 src/afs/VNOPS/afs_vnop_symlink.c |    9 +++--
 src/afs/afs_analyze.c            |   22 +++++++------
 src/afs/afs_conn.c               |   32 +++++++++++++-----
 src/afs/afs_dcache.c             |    9 +++--
 src/afs/afs_pioctl.c             |   65 +++++++++++++++++++++----------------
 src/afs/afs_prototypes.h         |   19 +++++++---
 src/afs/afs_segments.c           |   14 +++++---
 src/afs/afs_server.c             |   23 +++++++------
 src/afs/afs_vcache.c             |   35 +++++++++++---------
 src/afs/afs_volume.c             |   23 +++++++------
 17 files changed, 196 insertions(+), 138 deletions(-)

-- 
OpenAFS Master Repository