[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