Process A on client1 client2 or server
...
fd = open("/shared/foo", O_RDONLY);
% rm /shared/foo
read(fd, &buffer, buffer_len);
Read fails! Stale File Handle
If you consistently suffer from stale filehandle errors, you should
look at the way in which users share files using NFS. Even though
users see the same set of files, they do not necessarily have to do
their work in the same directories. Watch out for users who share
directories or copies of code. Use a source code control system that
lets them make private copies of source files in their own
directories. NFS provides an excellent mechanism for allowing all
users to see the common source tree, but nobody should be doing
development in it. Similarly, users who share scratch space may
decide to clean it out periodically. Any user who had a scratch file
open when another user on another NFS client purged the scratch
directory will receive stale filehandle errors on the next reference
to the (now removed) scratch file.