Date: Tue, 14 Sep 2010 01:28:05 +0000 (UTC) From: Rick Macklem <rmacklem@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/fs/nullfs null_vnops.c Message-ID: <201009140128.o8E1SUCC071968@repoman.freebsd.org>
index | next in thread | raw e-mail
rmacklem 2010-09-14 01:28:05 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_8)
sys/fs/nullfs null_vnops.c
Log:
SVN rev 212590 on 2010-09-14 01:28:05Z by rmacklem
MFC: r212043
Add a null_remove() function to nullfs, so that the v_usecount
of the lower level vnode is incremented to greater than 1 when
the upper level vnode's v_usecount is greater than one. This
is necessary for the NFS clients, so that they will do a silly
rename of the file instead of actually removing it when the
file is still in use. It is "racy", since the v_usecount is
incremented in many places in the kernel with
minimal synchronization, but an extraneous silly rename is
preferred to not doing a silly rename when it is required.
The only other file systems that currently check the value
of v_usecount in their VOP_REMOVE() functions are nwfs and
smbfs. These file systems choose to fail a remove when the
v_usecount is greater than 1 and I believe will function
more correctly with this patch, as well.
Revision Changes Path
1.111.2.2 +27 -0 src/sys/fs/nullfs/null_vnops.c
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009140128.o8E1SUCC071968>
