go build, flock, and NFS_BADSEQID

Rick Macklem rmacklem at uoguelph.ca
Tue Mar 3 00:16:33 UTC 2020


Good to hear. For some reason, the IETF NFSv4 working group does a
lot of work trying to get NFSv4.0 right.
>From my point of view, it is just a typical .0 release that was fixed by the .1
release.

Linux always uses the newest version supported by the server by default.
Maybe I could get away with doing the same for FreeBSD?
(For NFSv4 minor versions, not NFSv4 instead of NFSv3, which I think would
 be a POLA violation.)
What do you think?

rick

Thanks, rick

________________________________________
From: Alan Somers <asomers at freebsd.org>
Sent: Monday, March 2, 2020 7:04 PM
To: Rick Macklem; freebsd-fs
Subject: Re: go build, flock, and NFS_BADSEQID

Yep.  Remounting with minorversion=1 fixed the problem.  Thanks!.

On Mon, Mar 2, 2020 at 3:51 PM Rick Macklem <rmacklem at uoguelph.ca<mailto:rmacklem at uoguelph.ca>> wrote:
Oh and avoid "soft,intr" options on the mount. Those are pretty much
guaranteed to result in a BADSEQID sooner or later.

rick
ps: It's in the Bugs section of "man mount_nfs", but nobody reads that far;-)

________________________________________
From: Alan Somers <asomers at freebsd.org<mailto:asomers at freebsd.org>>
Sent: Monday, March 2, 2020 5:40 PM
To: Rick Macklem
Cc: freebsd-fs; Rick Macklem
Subject: Re: go build, flock, and NFS_BADSEQID

Is that a mount option?  Because it seems like I can't set it with "mount -u".  Do I need to completely unmount first?

On Mon, Mar 2, 2020 at 3:28 PM Rick Macklem <rmacklem at uoguelph.ca<mailto:rmacklem at uoguelph.ca><mailto:rmacklem at uoguelph.ca<mailto:rmacklem at uoguelph.ca>>> wrote:
Try "minorversion=1". The seqid stuff is NFSv4.0 specific and shouldn't
be broken, but NFSv4.1 fixed all this in better ways.

rick

________________________________________
From: alan somers <asomers at gmail.com<mailto:asomers at gmail.com><mailto:asomers at gmail.com<mailto:asomers at gmail.com>>>
Sent: Monday, March 2, 2020 2:31 PM
To: freebsd-fs
Cc: Rick Macklem
Subject: go build, flock, and NFS_BADSEQID

I'm trying to build a Go project with /usr/home mounted with NFSv4.  The server is running 12.0-RELEASE and the client is running 12.1-RELEASE.  But the build reliably fails because flock(2) returns EACCES.  Dtrace shows the cause is nfsrpc_advlock returning NFS_BADSEQID.  This sounds like an NFS bug (server, client, or both?  I'm not sure).  I'm not an NFS expert.  Is this something I should pursue, and would somebody please give me advise on how to debug further?
-Alan


More information about the freebsd-fs mailing list