Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Oct 2014 11:18:00 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-fs@freebsd.org
Cc:        Garrett Wollman <wollman@csail.mit.edu>
Subject:   Re: 9.3 NFS client bug?
Message-ID:  <201410071118.00364.jhb@freebsd.org>
In-Reply-To: <1109402573.59384867.1412683413852.JavaMail.root@uoguelph.ca>
References:  <1109402573.59384867.1412683413852.JavaMail.root@uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, October 07, 2014 8:03:33 am Rick Macklem wrote:
> Garrett Wollman wrote:
> > <<On Fri, 3 Oct 2014 18:10:16 -0400 (EDT), Rick Macklem
> > <rmacklem@uoguelph.ca> said:
> > 
> > > 2 - Try an "oldnfs" mount and see if the old client exhibits the
> > > same behaviour.
> > 
> > Same behavior both old and new.  I'm doing binary search now to try
> > to
> > minimize the size of the workload that exhibits the issue.
> > 
> > -GAWollman
> > 
> By ay chance is your ZFS server allocating a ZFS inode (whatever they
> call it) with a fileno/inode# that doesn't fit in 32 bits?
> (There is a diagnostic printf w.r.t. this for NFSv4, but not NFSv3,
>  so you might try an NFSv4 mount. The printf starts with "NFSv4 fileid > 32..".)
> 
> Since d_fileno in "struct dirent" is 32bits, NFS just truncates the
> 64bit fileid to 32bits (or fills the high order 32bits with 0s for the server).
> ZFS is known to generate fileids with non-zero high order 32bits->busted.
> (And not at all easy to fix. I actually have a somewhat hackish idea for
>  a way to make 64bit d_fileno values work without busting backwards compatibility.
>  I think I'll post that to freebsd-fs@ and see what others think?)

Also, does it exhibit if you NFS export a UFS filesystem instead of ZFS?

-- 
John Baldwin



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