SUMMARY: NFS write error and showfh (show file handle)

Kinter, Thomas M. (tmk@mayo.edu)
Mon, 28 Apr 1997 11:30:16 -0500

Sun Managers,

-------------------
Original Question
-------------------
> I am running Solaris 2.5 and Solaris 2.5.1 on a variety of machines. I got an
> error message from SPARCstation 20:
>
> Apr 16 09:32:50 us13 unix: NFS write error on host us0: Permission denied.
> Apr 16 09:32:50 us13 unix: (file handle: 800025 2 a0000 ce620 95b3f69b a0000
> 2 5987f29a)
>
> OK, fine. But I wanted to find out what the offending file was and
> couldn't figure a way to do it. I see that for SunOS-4.1 there is a
> command called "showfh" to "print full pathname of file from the NFS
> file handle". When I looked it up in the Solaris-2.3 Transition Guide,
> it looks like it should be there, but it's not around in Solaris-2.5.
> Is there a replacement command for Solaris-2.5?

I received one response shown below. My only problem is that I still don't
know how to get to the filename - how to convert from a file handle to an
inode number needed for the find command.
Tom Kinter tmk@mayo.edu 507-284-4981
Mayo Foundation
200 First St. SW
Rochester, Minnesota 55905 USA

-------------------------------------------------
Respose from casper@holland.sun.com - THANKYOU!
-------------------------------------------------
There's no showfh in Solaris; it never really worked right n SUnOS 4.x
either.

showfh works by running find <exported filesystem> -xdev -inum XXXX -print,
so you could reimplement that by hand.

This particular error occurs when the NFS clietn and the NFS server disagree
about filepermissions; this typically happens when root on a client tries
to write to file on the server; the client thinks that root can do anything
but the server doesn't agree (when you don't use root exports).

I'm puzzled why this happens in 2.5.x though, as NFS V3 has an NFS3_ACCESS
call which allows the clietn to tell whether the server will allow write
access for a particular client user.

Are you using NFS v3?