[linux-l] Stale NFS file handle

Peter Ross peter.ross at alumni.tu-berlin.de
Fr Dez 27 12:44:46 CET 2002


hI,

On Thu, 26 Dec 2002, Steffen Dettmer wrote:

> * Malte Frerichs wrote on Thu, Dec 26, 2002 at 11:41 +0100:
> > Can't change Permissons ...(Filename): Stale NFS file handle
> 
> Sowas kann kommen, wenn Du den Server neustartest, und den
> Clienten nicht.

Ich habe zufaellig gerade heute in den Stevens, TCP/IP Illustrated, nach 
NFS geschaut. Dort ist ein Beispiel, das erklaert, das Neustraten des 
Servers kein Problem sein sollte. Und so ist es auch in der Praxis 
eigentlich..

Das NFS-Filehandle enthaelt gewoehnlich unter Unixen eine ID des 
Filesystems - die Major- und Minor-ID des Devices, den Inode des Files, 
und der Aktualisierungszaehler, der hochzaehlt, wie haeufig der Inode von 
einer neuen Datei benutzt wurde (um zu verhindern, das, wenn auf dem 
Server eine neue Datei auf dem inode liegt, der NFS-Client, der davon 
nichts wissen kann, faelschlich auf diese statt der nicht mehr existenten 
zugreift).

Da sollte das Neustarten des Systems gar kein Problem sein, ausser, wenn 
Du die Datei auf dem Server "umschaufelst" - umkopierst (und damit auf 
einen neuen inode legst) oder auf ein anderes Filesystem legst. Dann hast 
Du ein veraltetes - stale - Filehandle.

Ich habe mal jemand murmeln hoeren, das Linux das NFS-Filehandle - welches 
opaque ist - etwas anders als sonst ueblich erzeugt, moeglicherweise 
deswegen Dein veraltetes Filehandle. Aber ich habe bis jetzt hier noch 
nicht selbst in die Quellen geguckt.

Gruss
Peter




Mehr Informationen über die Mailingliste linux-l