a question on NFS

Can I always stat a file which is NFS mounted. Will the results always show up and make sense ?
File size, blocks, access time etc ? Will we always be able to get that information for an NFS mounted file.

I mean, that file is sitting on a remote system right.. which can be any system.. EMC or a NetAppp or anything.. who knows whether or how the remote file system implements all this statistics..

In theory yes, as that is the purpose of NFS.

NFS is a standard protocol (even though there are a number of versions of it), the idea is that all machines, no matter how different, use the same information "on-the-wire", so as long as a machine implements NFS, you should not care what type of machine it is.

If there is any translation to be done, that is the foreign machines job, for instance Windows does not have user and group ids like UNIX, so Windows has to emulate them somehow, but how it does that is invisible to the NFS client.

Access time can be a trouble-some one, especially if the machines are not synchronised to a common time source, a good example of this manifesting as a problem is 'make' running more build commands than are actually needed.

Basically, if a machine does not directly implement some feature of NFS then either it must

(a) emulate it
(b) return an error when it is attempted to be used

A good example of (b) is some hosts may not support file region locking.

Thanks a lot porter !!!

Offtopic : Few months ago I posted here some thoughts on NFS performance version 3. There are some issues with NFS clients and server on Linux, whereas UNIX's times look good. It's preferable that you use version 4, as it has many improvements, of course, if you are looking for better performance.