Te NFSv3 protocol does not have a OPEN procedure. When an NFSv3 client
wants to read/write a file, the operations are like:
1. LOOKUP of the filename, returns a filehandle on success
2. WRITE data with offset in the filehandle
A LOOKUP is like stat(), and the filehandle is a opaque structure that
uniquely identifies the file on the storage backend. A filehandle
basically identifies the filesystem/volume and the inode of the file so
that Gluster/NFS can find it again. For Gluster/NFS the filehandle
consists out of the Volume-ID and the GFID of the file.
Our GlusterFS protocol (for the I/O on the bricks) have support for
procedures that accept a GFID (like a Gluster Volume wide inode). The
Gluster/NFS server uses these procedures exclusively, except for LOOKUP.
Thanks for your explain,Niels.I know the operations which you mentioned.While my confusion is
that why the xlators such as "debug/io-stats" defines a "open" procedure if the NFSv3 protocol doesn't
require it.And when will these procedures be called? I haven't found any caller in the code of "server/nfs". Any
other top xlator will call that?
--
Sincerely,
DengJin
_______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://www.gluster.org/mailman/listinfo/gluster-devel