Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jul 2015 08:11:49 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Daniel O'Connor <darius@dons.net.au>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: -current broken when src is on NFS
Message-ID:  <1589003792.10086361.1437048709012.JavaMail.zimbra@uoguelph.ca>
In-Reply-To: <1C5FC434-0646-40E5-83AC-A0DE486D3273@dons.net.au>
References:  <1C5FC434-0646-40E5-83AC-A0DE486D3273@dons.net.au>

next in thread | previous in thread | raw e-mail | index | archive | help
Daniel O'Conner wrote:
> I am seeing the following breakage when building -current and the source is
> on NFS
> 
> make -j 4 buildworld
> ...
> --- rescue.all__D ---
> --- rescue ---
> MAKEOBJDIRPREFIX=/usr/obj/src/FreeBSD-HEAD/rescue/rescue make -f rescue.mk
> exe
> --- sbin.all__D ---
> --- pfctl_qstats.o ---
> cc  -O2 -pipe   -Wall -Wmissing-prototypes -Wno-uninitialized
> -Wstrict-prototypes -DENABLE_ALTQ -I/src/FreeBSD-HEAD/sbin/pfctl
> -DWITH_INET6 -DWITH_INET -std=gnu99 -fstack-protector -Wsystem-headers
> -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign
> -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable
> -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
> -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
> -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Qunused-arguments
> -c /src/FreeBSD-HEAD/sbin/pfctl/pfctl_qstats.c -o pfctl_qstats.o
> --- rescue.all__D ---
> --- cat_stub.c ---
> echo "int _crunched_cat_stub(int argc, char **argv, char **envp){return
> main(argc,argv,envp);}" >cat_stub.c
> make[5]: make[5]: don't know how to make
> /usr/obj/src/FreeBSD-HEAD/rescue/rescue//src/FreeBSD-HEAD/bin/cat/cat.o.
> Stop
> 
> make[5]: stopped in /usr/obj/src/FreeBSD-HEAD/rescue/rescue
> *** [rescue] Error code 2
> 
r285066 fixed a POLA violation w.r.t. the old NFS client where the new
client didn't return an EEXIST error return for symlink or mkdir to userland.
The behaviour of not returning this error to userland (which was inherited from
OpenBSD and was not the behaviour of the old FreeBSD NFS client but was default
for the new NFS client) can be enabled via:
vfs.nfs.ignore_eexist=1

You could try setting that sysctl and seeing if it makes any difference?

That is the only recent change to the NFS client that *might* affect this.

To be honest, I have no idea what the correct behaviour for "//" in a pathname is?

rick

> I copied this source tree to /usr/src (UFS) and it built fine - I guess it's
> possible it is barfing on the path name but I figure someone else would have
> noticed that.
> 
> The NFS server is running 10.0-RELEASE and the NFS client is running -current
> r285456, lockd is running and seems to be working (e.g., cat -l works)
> 
> --
> Daniel O'Connor
> "The nice thing about standards is that there
> are so many of them to choose from."
>  -- Andrew Tanenbaum
> GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
> 
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1589003792.10086361.1437048709012.JavaMail.zimbra>