Install from NFS onto NFS fails on amd64
Jilles Tjoelker
jilles at stack.nl
Thu Jul 2 21:25:07 UTC 2009
On Thu, Jul 02, 2009 at 12:31:16PM +0000, Bjoern A. Zeeb wrote:
> On Thu, 2 Jul 2009, Bjoern A. Zeeb wrote:
> > trying to installworld from NFS to NFS (which also is the NFS Root
> > of the installing and to be updated machien) on amd64 always fails
> > with this error. Anyone knows why that is?
> > ------------------------------------------------------------------------
> > lion1# make installworld -DNO_FSCHG
> > ...
> > ...
> > ...
> > install -s -o root -g wheel -m 555 ldd32 /usr/bin
> > rm: /tmp/install.uMl44I7W: Directory not empty
> > *** Error code 1
> >
> > Stop in /zoo/bz/HEAD.svn.
> > *** Error code 1
> >
> > Stop in /zoo/bz/HEAD.svn.
> > lion1#
> > ------------------------------------------------------------------------
> I probably should have added that the directory is empty:
> lion1# ls -la /tmp/install.uMl44I7W
> total 4
> drwxr-xr-x 2 root wheel 1024 Jul 2 12:15 .
> drwxrwxrwt 15 root wheel 1024 Jul 2 12:10 ..
> and I am well aware that that is one of the last things that make
> installworld does; it's just strange and I blame it on NFS;-)
This could be because of NFS "sillyrename". To avoid some ESTALE errors,
the NFS client (for NFSv2 and NFSv3 at least) renames if you delete a
file that is currently in use (in this case, the rm binary). Because the
renamed file (name typically starts with .nfs) is in the same directory,
this causes problems when removing directories. Once the file is no
longer in use, it is finally deleted.
Without sillyrename, rm could segfault after deleting itself.
Maybe NFSv4 has a cleaner way to keep a file with 0 links as long as it
is open.
--
Jilles Tjoelker
More information about the freebsd-current
mailing list