2016-06-07 3 views
0

Es ist ein seltsamer (aber vollständig begründeter) Anwendungsfall für FUSE, aber gibt es eine Möglichkeit, Programme, die auf einer FUSE-Dateisystemimplementierung laufen, zu tricksen, um alle Einträge als Dateien aufzulisten, aber die "Dateien" als Verzeichnisse zu lesen auch?Behandle Dateien wie Dateien und Verzeichnisse in FUSE?

Zum Beispiel gibt es eine Möglichkeit, ein FUSE-Dateisystem auf die folgende Weise zu verhalten?

$ cd mnt 
$ ls 
foo bar 

$ cat foo 
Some foo text! 

$ pwd 
/mnt 

$ cd foo 
$ ls 
qux qix 

$ cd qux 
$ pwd 
/mnt/foo/qux 

$ cd .. 
$ pwd 
/mnt/foo 

$ cat qux 
Some Qux text. 

Gibt es eine Möglichkeit, dies durch Ausnutzung eines Symlink-Datei-Modus zu tun, oder gibt es einen ähnlichen Weg? Oder ist das völlig unmöglich und ich sollte einen anderen Weg gehen?

Antwort

1

Ich glaube nicht, dass so etwas möglich wäre, weil Datei-/Verzeichnisoperationen mit der Anforderung des Objekttyps beginnen würden. Und der Systemcache könnte jeweils nur einen Typ enthalten und melden. Sie können also dem Betriebssystem nicht mitteilen, dass der Eintrag sowohl eine Datei als auch ein Verzeichnis ist. Außerdem haben die meisten Anwendungen Checks wie "if IsFile then ... else ...", so dass sie die zweite Attribution einfach verpassen würden.

Verwandte Themen