cvs commit: src/sys/fs/unionfs union_subr.c union_vnops.c
Brian Feldman
green at FreeBSD.org
Fri Jan 16 08:31:03 PST 2004
green 2004/01/16 08:31:01 PST
FreeBSD src repository
Modified files:
sys/fs/unionfs union_subr.c union_vnops.c
Log:
Fix an upper-vnode leak created in revision 1.52. When an upper-layer
file has been removed, it should be purged from the cache, but it need
not be removed from the directory stack causing corruption; instead,
it will simply be removed once the last references and holds on it
are dropped at the end of the unlink/rmdir system calls, and the
normal !UN_CACHED VOP_INACTIVE() handler for unionfs finishes it off.
This is easily reproduced by repeated "echo >file; rm file" on a
unionfs mount. Strangely, "echo -n >file; rm file" didn't make
it happen.
Revision Changes Path
1.76 +11 -16 src/sys/fs/unionfs/union_subr.c
1.105 +2 -3 src/sys/fs/unionfs/union_vnops.c
More information about the cvs-all
mailing list