DragonFly commits List (threaded) for 2008-01
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/kern vfs_cache.c vfs_default.c
dillon 2008/01/18 11:13:16 PST
DragonFly src repository
Modified files:
sys/kern vfs_cache.c vfs_default.c
Log:
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@crel.us>
Testing-by: Vincent Stemen <vs1@crel.us>
Revision Changes Path
1.86 +20 -33 src/sys/kern/vfs_cache.c
1.52 +2 -6 src/sys/kern/vfs_default.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cache.c.diff?r1=1.85&r2=1.86&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_default.c.diff?r1=1.51&r2=1.52&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]