go build, flock, and NFS_BADSEQID

Rick Macklem rmacklem at uoguelph.ca
Mon Mar 2 22:51:01 UTC 2020

Oh and avoid "soft,intr" options on the mount. Those are pretty much
guaranteed to result in a BADSEQID sooner or later.

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

From: Alan Somers <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>> 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.


From: alan somers <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?

More information about the freebsd-fs mailing list