2017-11-05 3 views
0

Das Ziel ist nicht, Dateisystemtreiber zu schreiben, aber ich kenne nur diesen Weg, um das Ziel zu erreichen. Wenn Sie den besseren oder einfacheren Weg wissen, um dies zu erreichen, sagen Sie es mir bitte.Linux-Dateisystem-Filter-Treiber: Wie schreibe ich und wie bestimmte Pfad ersetzen?

Die Essenz des Problems ist hier How to get rid of numerous .dotfiles in home folder?. Also, ich denke, dass es über den Dateisystemfiltertreiber gelöst werden kann, der alle Dateianforderungen wie ~/.*/** (außer ~/.app/*/**) bis ~/.app/*/** filtert.

Ich fand keinen Hinweis auf Dateisystemtreiberentwicklung (nur gleiche question auf Stackoverflow).

Ich fand Quellen von solchen (ich denke, kann ich falsch liegen) ein Treiber Stub. https://gist.github.com/prashants/3839380

Ist das was ich brauche?

Das einzige Handbuch ist unklar Code Kommentare. Z.B. http://elixir.free-electrons.com/linux/v4.5/source/include/linux/blk_types.h

Ich fand heraus, dass es Rückrufanforderung und andere Rückrufe, die ich haken kann. Aber andere Sachen bezüglich request_queue und bio sind nicht selbst erklärt. Die Rückrufsignatur sieht wie

void (struct request_queue*, struct bio*); 

aus. request_queue Typdefinition.

Bin ich auf dem richtigen Weg? Und wenn ja, wo bekomme ich die Dokumentation? Ich habe nur diese sources gefunden.

Antwort

0

Der verknüpfte Code hat nichts mit dem Problem zu tun - es ist eine falsche Ebene unterhalb des Dateisystems. Zu diesem Zeitpunkt gibt es keine Informationen darüber, welche Datei angefordert wird.

Ich denke nicht, dass diese Idee Beine hat, aber wenn etwas von der Art implementiert werden soll, sollte es durch etwas wie overlayfs sein. Dann würden Sie .crap-Anfragen übersetzen, um woanders hinzugehen.

Das sagte, ich sehe keinen Nutzen für sie.

Verwandte Themen