Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Mar 2005 02:59:32 +0000 (UTC)
From:      David Schultz <das@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern vfs_cache.c
Message-ID:  <200503300259.j2U2xXhg092762@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
das         2005-03-30 02:59:32 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             vfs_cache.c 
  Log:
  Merge kern___cwd() and vn_fullpath(), which were virtually identical,
  except for places where people forget to update one of them.  We now
  collect only one set of stats for both of these routines.  Other
  changes in this commit include:
  
  - Start acquiring Giant again in vn_fullpath(), since it is required
    when crossing a mount point.
  
  - Expand the scope of the cache lock to avoid dropping it and
    picking it up again for every pathname component.  This also
    makes it trivial to avoid races in stats collection.
  
  - Assert that nc_dvp == v_dd for directories instead of returning
    an error to userland when this is not true.  AFAIK, it should
    always be true when v_dd is non-null.
  
  - For vn_fullpath(), handle the first (non-directory) vnode
    separately.
  
  Glanced at by:  jeff, phk
  
  Revision  Changes    Path
  1.97      +89 -132   src/sys/kern/vfs_cache.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200503300259.j2U2xXhg092762>