OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-4501-g2f2e6ef

Gerrit Code Review gerrit@openafs.org
Wed, 3 Dec 2014 01:13:38 -0500


The following commit has been merged in the master branch:
commit 2f2e6effa791e3f36f002702cd72e615ccf1a1a7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 30 12:23:43 2013 -0500

    namei: Remove icreate tfd hack
    
    Currently, the namei icreate routine creates a fake FdHandle_t for a
    SetLinkCount call if we're creating a linktable. In the past this was
    probably done because we did not want to open a "real" fdP ,since that
    would mean opening another file descriptor, when we already had a file
    descriptor (from the creating afs_open call).
    
    This is a problem in the salvager, since it means that we can reach
    ihandle code before the ihandle package has been initialized.
    Specifically, we can reach icreate -> namei_SetLinkCount -> ih_fdsync.
    If we reach ih_fdsync without the ihandle package being initialized,
    we assert and dump core.
    
    The ihandle package assumes that we've already initialized it if we
    reach any ihandle code, since creating any IHandle_t causes the
    package to initialize. But since namei_icreate fakes its own IHandle_t
    and FdHandle_t structures, that doesn't happen.
    
    So, to avoid this, stop faking our FdHandle_t and create a real one.
    Since we have ih_attachfd, we can create a real FdHandle_t with our
    existing file descriptor.
    
    Change-Id: I7a8c1e0ed1ee8e5c8ce2e165b9493811d5d2435d
    Reviewed-on: http://gerrit.openafs.org/10213
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

 src/vol/namei_ops.c |   62 ++++++++++++++++++++++----------------------------
 1 files changed, 27 insertions(+), 35 deletions(-)

-- 
OpenAFS Master Repository