cvs commit: src/sys/kern vfs_cache.c vfs_default.c

Matthew Dillon dillon at
Fri Jan 18 11:14:01 PST 2008

dillon      2008/01/18 11:13:16 PST

DragonFly src repository

  Modified files:
    sys/kern             vfs_cache.c vfs_default.c 
  Fix an issue with cache_rename().  This procedure previously copied a
  namecache entry to a new one and then invalidated the old one, operating
  under the idea that the namespace structures should remain consistent.
  However, the curret, root, and jail directories for a process are stored as
  pointers to namecache structures and renaming a directory resulted in
  the current, root, or jail directory for related processes becoming invalid.
  Changes to the namecache structure over the years (separately allocated
  nc_name, rehash support, etc) now make it possible to implement the
  cache_rename() by physically renaming the namecache structure instead
  of copying it, allowing process references to be retained.
  NOTE: There may still be a race against nlookup's.
  Reported-by: Vincent Stemen <vs1 at>
  Testing-by: Vincent Stemen <vs1 at>
  Revision  Changes    Path
  1.86      +20 -33    src/sys/kern/vfs_cache.c
  1.52      +2 -6      src/sys/kern/vfs_default.c

More information about the Commits mailing list