Go to file
yamt e38f237e53 if a file is sillyrename'ed because it's a destination of rename,
make sillyrename (try to) use LINK operation rather than RENAME.
PR/33861 from Jed Davis.  he provided the almost same patch.
according to him, it also happen to be what opensolaris does in this case.

from the PR:
> In nfs_rename(), if the destination appears to exist and is "in use"
> (this check is apparently satisfied even if the file isn't in use by
> anything except the rename itself), it will sillyrename it, then delete
> the sillyrenamed file even if the rename fails -- for instance, because
> the "from" file no longer exists on the server.

> mkdir a b; touch a/x; perl -e 'fork(); rename("a/x","b/x") or die "$!\n"'
>
> Afterwards, neither a/x nor b/x will exist.

> 1) Lookup of b/x; fails with NOENT.
> 2) Rename from a/x to b/x; succeeds.
> 3) Lookup of b/x; fails with NOENT.
> 4) Rename from b/x to b/.nfsA23a3; succeeds.
> 5) Rename from a/x to b/x; fails with NOENT.
> 6) Remove of b/.nfsA23a3; succeeds.
2006-07-01 11:29:42 +00:00
bin apply a little -O0 with GCC4 and vax... 2006-07-01 05:54:35 +00:00
common remove unused variable that broke build 2006-05-28 10:15:25 +00:00
crypto Remove various dotfiles that wandered their way in. 2006-06-18 08:59:39 +00:00
dist fix typo. 2006-06-29 21:53:33 +00:00
distrib Enable kse(4). 2006-06-30 23:12:48 +00:00
doc document the GCC4/vax -O0 hacks. 2006-07-01 06:00:41 +00:00
etc Add: 2006-06-27 14:59:38 +00:00
games Attribute ``A language that doesn't affect the way you think about 2006-06-24 13:32:45 +00:00
gnu update the "building for netbsd cross target list" of defined functions. 2006-07-01 06:00:04 +00:00
include Centralize the TCP_NODELAY handling as discussed in tech-net. 2006-06-22 19:35:34 +00:00
lib noieee src is not strict-aliasing compliant. apply -fno-strict-aliasing. 2006-07-01 08:57:14 +00:00
libexec Add (back) -Wl,-static to the link. 2006-06-29 19:30:59 +00:00
regress Change LFCNWRAP{STOP,GO} to make them more suitable for snapshotting; in 2006-06-24 05:28:54 +00:00
rescue lmcctl has been replaced by lmcconfig. 2005-12-06 14:02:58 +00:00
sbin fix an Xref 2006-06-30 15:51:36 +00:00
share -std=gnu99 can be applied with GCC>=3, not MACHINE != vax. 2006-07-01 06:02:51 +00:00
sys if a file is sillyrename'ed because it's a destination of rename, 2006-07-01 11:29:42 +00:00
tools force --disable-shared on vax so that GCC does not think it can use 2006-07-01 05:59:18 +00:00
usr.bin Um, pointer differences are ptrdiff_t, and there's already a 2006-07-01 11:05:42 +00:00
usr.sbin struct ieee80211_node_sysctl does not align ns_tstamp properly to directly 2006-06-30 21:30:19 +00:00
x11 Add missing closing brace. How did this ever work previously? 2006-04-21 21:46:06 +00:00
build.sh preliminary support for powerpc64 toolchain: 2006-06-22 20:00:18 +00:00
BUILDING mkisofs is in pkgsrc/sysutils/cdrtools now, not pkgsrc/sysutils/cdrecord. 2006-01-29 14:03:59 +00:00
Makefile remove support for building (with) GCC 2.95. also: 2006-06-02 22:16:18 +00:00
Makefile.inc
UPDATING document where and why the socket syscall changed. 2006-06-27 21:14:11 +00:00