[CentOS] compare zfs xfs and jfs o
Joerg Schilling
Joerg.Schilling at fokus.fraunhofer.de
Mon Aug 6 10:26:12 UTC 2012
John R Pierce <pierce at hogranch.com> wrote:
> > Again:
> >
> > - NFSv2 (from 1988) allows 32 Bytes for a NFS file handle
> >
> > - NFSv3 (from 1990) allows 64 Bytes for a NFS file handle
> >
> > - NFSv4 (from 2004) has no hard limit here
> >
> > With the 32 byte file handle, there are still 12 bytes (including a 2 byte
> > length indicator) for the file id in the file handle.
> >
> > If your filesystem could use 44 and more bytes in the case you describe, there
> > is no problem - except when the code is not OK.
> >
> > It is of course nice to still support SunOS-4.0 clients, but in case that the
> > client supports NFSv3 or newer, why not use longer file id's?
> >
>
> we had both solaris 10 aka sunos 5.10 clients and EL5/6 clients. the
> error is "Stale NFS file handle"
So the bug is in the NFS server code.
A NFS file handle is made of a filesystem ID, a file ID for the export
directory and a file ID for the current file.
A file ID is (for a writable filesystem) typically made of the inode number and
a file generation number that is incremented every time a destructive operation
on the file appears.
"Stale NFS file handle" is the error code if the referred file (inode number +
file generation number) no longer exists.
I asume that in your case, the server did send out invalid file IDs that do not
point to a valid file. For this reason, the client gets a "Stale NFS file
handle" when it uses the NFS file handle returned by the NFS server for a
open() operation.
> anyways, this refers to the fsid problem,
> http://xfs.org/index.php/XFS_FAQ#Q:_Why_doesn.27t_NFS-exporting_subdirectories_of_inode64-mounted_filesystem_work.3F
This seems to be an "explanation" from the people who wrote the non-working NFS
code.
> we were unable to make the 'fsid=uuid' option work (or we didn't
> understand it), but using fsid=## for unique integers for each export
> works fine, so thats what we went with.
>
> are these fsid's the same as your 32 vs 64 bit file handles ? doesn't
> sound like it to me, unless I'm misunderstanding what you're referring
> to as a file handle.
If you introduce new words, you would need to explain them. I can only explain
how NFS works and that it is possible to use NFS to export filesystems with
more than 32 bit inode numbers.
Just a note: even with NFSv2, you could have an 8 Byte inode number + 2 Byte
file generation number or 7 Byte inode number + 3 byte file generation number
or 6 Byte inode number + 4 Byte file generation number.
It is most unlikely that a filesystem designed for NFSv2 export will use the
full 8 byte address space that 64 bit inode number could allow.
Jörg
--
EMail:joerg at schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
js at cs.tu-berlin.de (uni)
joerg.schilling at fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily
More information about the CentOS
mailing list