Diese Funktionen sind nützlich für die User-Space-Server zu schreiben.
Wenn Sie zum Beispiel das NFS-Protokoll implementieren, das nicht das Konzept 'open' oder einen Dateideskriptor hat, sondern stattdessen auf eine persistente Dateikennung, kann die Funktion 'name_to_handle_at' verwendet werden, um dieses persistente Handle zu generieren tragbarer Weg.
Es wird dann an den Client gesendet, der es zu einem späteren Zeitpunkt an den Server zurückgibt. Der Server kann dann open_to_handle_at verwenden, um den Vorgang auszuführen.
Man könnte fragen, wie das besser ist, als einfach den vollständigen Pfadnamen zwischen Client und Server zu senden. Eine Reihe von Optionen:
- Das Dateisystem kann intern (kompakteren) Darstellungen verwenden anstelle des Dateinamens (zB auf Basis von inode).
- Beim Übergang vom Handle zum Dateideskriptor müssen möglicherweise weniger Arbeit getan werden. (Nicht mehr Path Traversal)
- In dem Szenario oben angegebenen Ressourcenverbrauch auf dem Server reduziert wird (keine Notwendigkeit Spur offener Dateien auf der Serverseite zu halten)
können Sie uns einen Link oder Zitat um den Kontext zu zeigen, wo es verwendet wird? – cctan
Es ist eine "neue" Linux-Kernel-Funktion, die sich mit Datei-Handles beschäftigt. Niemand spricht wirklich viel darüber. Ich würde es persönlich lieben, wenn ein Kernel-Entwickler oder was auch immer dies nicht ausführlich beantworten könnte. –