Date: Fri, 16 Jan 2004 08:31:01 -0800 (PST) From: Brian Feldman <green@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/fs/unionfs union_subr.c union_vnops.c Message-ID: <200401161631.i0GGV1en069849@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401161631.i0GGV1en069849>
