9.3 NFS client bug?
Rick Macklem
rmacklem at uoguelph.ca
Tue Oct 7 21:06:06 UTC 2014
I wrote:
> Garrett Wollman wrote:
> > <<On Fri, 3 Oct 2014 18:10:16 -0400 (EDT), Rick Macklem
> > <rmacklem at 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..".)
>
Oops, I've realized that this diagnostic won't help if the server is
a FreeBSD one, since the FreeBSD server just sets the high order 32bits
to 0s and not what the file system returns. (va_filerev is a "long", so
it is only 64bits on some arches, yikes.)
You could try what jhb@ suggested (try a UFS file system) or just use a
different ZFS volume that isn't very full, if you think the 32bit restriction
could have been exceeded.
Btw, I tried your bonnie++ command on my test machines, but they failed
part way through because they couldn't allocate boundary tags. (At least
now I can reproduce that easily, although it is the M_NOWAIT case where
the thread just loops in the kernel.)
rick
> 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?)
>
> rick
> _______________________________________________
> freebsd-fs at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
>
More information about the freebsd-fs
mailing list