raFS-Anleitung

raFS

Das Dateisystem raFS erlaubt es, lange Dateinamen zu verwenden und beliebig viele Dateien in Verzeichnissen zu speichern. Gespeicherte Dateien werden auf einem "Host"-Dateisystem, z.B. ADFS, als einzelne Dateien gespeichert.

raFS ist Free Software, geschrieben von Richard Atterer.


Teil I - Anleitung

Teil II - Technische Details (Englisch)


Anmerkungen zu Version 1.15 (05-05-1999)

raFS ist mittlerweile sehr stabil. Trotzdem heißt das nicht, daß man nicht vorsichtig sein sollte, wenn man raFS seine wertvollen Daten anvertraut. Bitte mache von wichtigen Daten, die auf raFS geschrieben werden, immer eine Sicherheitskopie!

Wichtige Hinweise zur Benutzung von raFS:

  • Immer den Computer herunterfahren, nie einfach einen Reset durchführen.
  • Immer wenn der Pfadname des Ablageverzeichnisses sich geändert hat, die Disk durch einen Doppelklick auf das Verzeichnis neu anmelden.
  • Immer die Disk prüfen, wenn auf einzelne Dateien nicht mehr zugegriffen werden kann und raFS in einer Fehlermeldung zum Prüfen auffordert. Niemals versuchen, eine dieser Dateien zu löschen!
  • Niemals eine der Dateien im Ablageverzeichnis ändern.
  • Niemals eine angemeldete Disk (mit einer Lock-Datei im Ablageverzeichnis) auf CD-ROM brennen! ;-)

Falls raFS die einzige Kopie deiner Lieblingsdatei überschreibt, sage nicht, ich hätte dich nicht gewarnt...


Einführung

Die Standard-Dateisysteme von Acorn (alle, die FileCore benutzen) schränken die Länge von Dateinamen auf 10 Zeichen und die maximal mögliche Anzahl von Dateien in einem Verzeichnis auf 77 ein, was manchmal ziemlich ärgerlich ist. Deswegen gab es schon mehrere Versuche, FileCore zu umgehen. Viele der entstandenen Programme sind Image-Dateisysteme, die einzelne Dateien auf der Platte so ansprechen, als wären sie Verzeichnisse mit Dateien und weiteren Unterverzeichnissen:
  • ArcFS und SparkFS lassen lange Dateinamen als Nebenprodukt ihrer eigentlichen Aufgabe, dem Komprimieren der Dateien, zu. Sie sind verläßlich, wenn auch recht langsam, und sie kosten Geld.
  • StrongHelp wurde geschrieben, um viele einzelne Hilfe-Dateien in einer großen Datei speichern zu können. Eigentlich ist es nicht für andere Dinge gedacht, aber man kann es trotzdem zum Speichern beliebiger Dateien verwenden. Es zerstört allerdings manchmal Image-Dateien.
  • Genau wie StrongHelp speichert auch X-Files seine Dateien unkomprimiert. Es ist langsam, enthält einige Bugs und verbringt gerne lange Zeit damit, freien Platz in seinen Image-Dateien zu sammeln, sobald diese mehrere Megabytes groß sind.
  • LongFiles ist kein Image-Dateisystem, stattdessen klinkt es sich in die Aufrufe ein, die Programme für Dateioperationen an RiscOS machen. Version 2 ist recht robust, aber dennoch bleibt es ein Hack. Pro Verzeichnis läßt es maximal 76 Objekte zu.
  • WIN95FS ist ein wenig teuer, wenn man nur lange Dateinamen, aber keinen Support für WINDOW~1 braucht.
  • TBAFS, ebenfalls ein kommerzielles Dateisystem, bietet neben Datenkomprimierung auch PC-Support an.

raFS ist weder ein Image-Dateisystem noch ein Hack: Es wurde als "normales" Dateisystem geschrieben. Die Dateien, die man auf raFS speichert, werden nicht in einer großen Datei abgespeichert, sondern als einzelne Dateien innerhalb einer Verzeichnisstruktur abgelegt, die das Programm auf einem anderen Dateisystem erstellt. Damit ist es möglich, die Fähigkeiten dieses Host-Dateisystems zum Verwalten einzelner Dateien vorteilhaft auszunutzen, was viel effektiver ist. Darüber hinaus sind die Chancen besser, seine Daten doch noch zurückzubekommen, falls einmal etwas schiefgehen sollte.

raFS hat folgende Merkmale:

  • 100% in Assembler geschrieben
  • Da es sich nicht um ein Image-Dateisystem handelt, gibt es keine Probleme mit Programmen wie InfoZip oder sFTP, und die Größe einer Disk ist nicht auf 4GB (oder sogar nur 2GB auf einem FileCore-Dateisystem) beschränkt.
  • Verzeichnisdaten werden gepuffert, so daß Zugriffe sehr schnell sind.
  • Unterstützung für mehrere "Disks" (bis zu 50).
  • Einfaches Erzeugen und Anmelden von Disks im Desktop (mit dem raFSFiler).
  • Es wird entweder die Sprite-Area, die RMA (RiscOS-Versionen vor 3.5) oder eine eigene Dynamische Area (RiscOS 3.5 und später) für die Puffer benutzt. Falls die Sprite-Area verwendet wird, geschieht dies auf eine Weise, die kompatibel mit anderen Programmen ist, die das ebenfalls tun, z.B. Memphis.
  • Arbeitet mit CDFS und Access+ zusammen.
  • Unterstützung verschiedener Sprachen.
  • Unterstützt das mehrfache Öffnen von Dateien (einschließlich Laden/Speichern).
  • Es gibt korrekte Fehlernummern aus!

Die Anleitung wurde in zwei Teile aufgeteilt. Dieser erste Teil ist für Anwender gedacht, die raFS im Desktop benutzen wollen, während der zweite (englische) Teil detaillierter auf die Fähigkeiten des Dateisystems eingeht. Es ist nicht notwendig, ihn zu lesen, da die meisten Informationen nur für Fortgeschrittene und Programmierer relevant sind.

Ich hoffe, daß dir dieses Programm nützlich sein wird!

Zurück zum Inhaltsverzeichnis


Benutzung

raFS wird in den Speicher geladen, indem man !raFS oder eine Applikations-Disk (wie das Beispiel !raFSDisc) doppelklickt, und installiert ein Symbol auf der Icon-Bar. Falls du das Programm beim Starten des Rechners automatisch geladen haben willst, kannst du es in dein !Boot.Choices.Boot.PreDesk-Verzeichnis kopieren.

Bevor du loslegst, sollte dir die Weise, auf die raFS seine Disks ablegt, klar sein. Eigentlich ist das Wort "Disk" etwas irreführend - raFS verwendet nämlich kein eigenes Diskettenformat. Dennoch werde ich von "Disks" sprechen, da sie genauso gehandhabt werden wie dies z.B. ADFS mit Disketten tut: Sie können erzeugt, an- und abgemeldet werden, und ihr Name erscheint in Verzeichnisnamen in etwa so: "raFS::DiskName.$. ..." Im Gegensatz zu Image-Dateisystemen werden raFS-Disks nicht in einer einzigen großen Datei, sondern als einzelne Dateien in einem Verzeichnis gespeichert.

raFS kann die Daten, die in seine Disks gespeichert werden, in zweierlei Arten von Verzeichnissen ablegen: Entweder in einem Applikations-Verzeichnis, dessen Namen mit "!" beginnt und das mit einem speziellen Symbol dargestellt wird, oder in einem normalen Verzeichnis, dem man nicht ansieht, daß es sich von anderen unterscheidet, bis man es doppelklickt. Tut man dies und raFS ist geladen, so wird die in dem Verzeichnis gespeicherte raFS-Disk von raFS beim System angemeldet und deren Root-Verzeichnis wird anstelle des Verzeichnisses, das man doppelgeklickt hat, geöffnet.

Ist das Programm nicht geladen, wenn man auf ein normales Verzeichnis mit einer raFS-Disk klickt, oder ist es geladen, aber man drückt beim Klicken die Shift-Taste, dann wird das eigentliche Verzeichnis geöffnet. Es enthält eine Datei mit dem Namen !Atterer (ja, ich weiß, daß ich bescheiden bin, es so zu nennen), eine namens !Mount und ein Verzeichnis A0 mit weiteren Unterverzeichnissen und Dateien mit ähnlichen Namen.

Verändere oder lösche keine dieser Dateien, außer du bist dir deiner Sache sicher!

Es sollte angemerkt werden, daß raFS seine eigenen Verzeichnisse von anderen dadurch unterscheidet, daß es nach der !Mount-Datei sucht und diese lediglich mit Obey ausführt, wenn das Verzeichnis geöffnet werden soll. Die Datei, die normalerweise ausgeführt wird, lädt raFS, falls das noch nicht geschehen ist, deswegen kannst du einfach !Mount doppelklicken, wenn du ein raFS-Verzeichnis öffnen wolltest, aber raFS nicht geladen war. (Zum Ausführen wird Obey und nicht einfach Run genommen, weil der Dateityp von !Mount nicht unbedingt korrekt sein wird - z.B., wenn man einen PC dazu verwendet, eine raFS-Disk auf CD-ROM zu brennen.)

Beim Anmelden einer Disk wird im Ablageverzeichnis eine Datei namens Lock erzeugt, beim Abmelden wird diese wieder gelöscht. Dies dient dazu, zu prüfen, ob in das Ablageverzeichnis geschrieben werden kann, außerdem kann eine Disk, deren Ablageverzeichnis umbenannt wurde, durch den Inhalt der Datei wiedererkannt werden. Ist eine Disk noch nicht angemeldet worden, aber die Lock-Datei trotzdem schon vorhanden, weigert sich raFS entweder, sie anzumelden (z.B. wenn auf sie über ein Netzwerk zugegriffen werden kann und sie schon ein anderer Computer angemeldet hat) oder das Programm gibt nur eine Warnung verbunden mit der Aufforderung aus, die Disk zu prüfen, meldet sie aber trotzdem an (wenn dein Computer abgestürzt ist oder ein Reset stattfand, seit die Disk angemeldet wurde).

Zurück zum Inhaltsverzeichnis

Mit Disks arbeiten

Das Icon-Bar-Menü stellt viele oft benötigte Operationen zur Verfügung. Wenn keine Disks angemeldet sind, sind die Einträge unterhalb der gestrichelten Linie ausgegraut.
  • Mit Schreibschutz kann man Disks vor ungewollten Schreibzugriffen schützen. Wenn von einer Disk lediglich gelesen werden kann, ist ihr Name im Untermenü angewählt. Die Option funktioniert nicht für Disks, die auf DOSFS gespeichert sind, da dieses Dateisystem sich nicht korrekt verhält.
  • Mit Benennen kann man den Namen einer Disk ändern. (Du hattest schon so eine Ahnung in der Richtung, nicht wahr?)
  • Abmelden entfernt die gewählte Disk von der Liste aller Disks, die RiscOS bekannt sind - versucht man anschließend, auf die Disk zuzugreifen, bekommt man den Fehler Disk nicht bekannt. Man kann alle angemeldeten Disks abmelden, indem man "Abmelden" auswählt, ohne in das Untermenü zu gehen.
  • Beim Anwählen eines Disknamens im Prüfen-Untermenü wird die Disk auf Fehler überprüft - siehe unten.
  • "$" öffnen öffnet das Verzeichnis für die angewählte Disk oder auch für alle angemeldeten Disks, wenn man den Menüeintrag im Hauptmenü anwählt.

Wichtig: Falls du einmal ein Ablageverzeichnis verschieben oder die Diskette/Platte umbenennen willst, auf der es gespeichert ist, melde die Disk danach neu an (z.B. indem du sie doppelklickst), damit raFS weiß, wie der neue Name heißt.

[Das Icon-Bar-Menü]

Der Menüeintrag Flush wird normalerweise nicht benötigt. Wenn er angewählt wird, speichert raFS alle geänderten aber noch nicht abgespeicherten Verzeichnisdaten. Man sollte einen Flush des Verzeichnis-Cache durchführen, wenn raFS wegen eines Fehlers daran gehindert wurde, Änderungen automatisch abzuspeichern. (z.B., wenn man auf Abbruch geklickt hat, als man darum gebeten wurde, eine Diskette mit einer raFS-Disk einzulegen.)

Zurück zum Inhaltsverzeichnis

Neue Disks erzeugen

Neue Disks können auf einfache Weise mit dem Fenster erzeugt werden, das geöffnet wird, wenn der Mauszeiger über dem Neue Disk-Menüeintrag nach rechts geführt wird. Mit der "App"-Option oder durch Angabe eines Ablageverzeichnis-Namens, der mit "!" beginnt, wird ausgewählt, ob ein normales oder ein Applikations-Verzeichnis erstellt wird. Nachdem man einen Namen für die neue Disk angegeben hat, wird sie erzeugt, indem das Symbol in ein Verzeichnis gezogen wird. [Das Fenster 'Neue Disk erzeugen']

raFS hat die nützliche Eigenschaft, daß auch eine ganze Festplatte oder Diskette für eine raFS-Disk genutzt werden kann. Wenn man z.B. auf das Symbol des Diskettenlaufwerks klickt, um das Root-Verzeichnis anzeigen zu lassen, sucht das Programm in gleicher Weise nach einer !Mount-Datei wie bei Doppelklicks auf Verzeichnis-Symbole. Will man solch eine Disk erzeugen, muß man den Namen des Root-Verzeichnisses eingeben (z.B. ADFS::HD.$) und, nachdem man noch einen Namen für die Disk gewählt hat, auf Erzeugen klicken.

Zurück zum Inhaltsverzeichnis

Das Einstellungen-Fenster

Durch einen Shift-Spezial-Klick auf raFS' Icon-Bar-Symbol oder durch Anwählen des Menüeintrags Einstellungen... wird das Einstellungen-Fenster geöffnet, in dem man verschiedene Aspekte des Programms verändern kann. Die neuen Werte können auch gespeichert werden.

Beim Starten Disks anmelden: In den Feldern dieses Teils des Fensters können die Namen von bis zu drei Ablageverzeichnissen angegeben werden, indem man die Verzeichnisse auf eines der Felder zieht. Die in den Verzeichnissen gespeicherten Disks werden dann von raFS automatisch jedesmal angemeldet, wenn es geladen wird.

Kommandos bei Klicks auf der Icon-Bar: Hier kann man die Kommandos ändern, die ausgeführt werden, wenn das Icon-Bar-Symbol angeklickt wird, wobei auch beachtet wird, ob Shift oder Ctrl gedrückt ist. Einzelheiten zu den in der Grundeinstellung verwendeten Kommandos findest du hier. In der Grundeinstellung passiert folgendes:

  • Auswahl öffnet das Root-Verzeichnis einer Disk. Wenn nur eine Disk angemeldet ist, wird ihr Root-Verzeichnis sofort geöffnet, ansonsten wird ein Menü geöffnet.
  • Spezial öffnet das Fenster Neue Disk erzeugen.
  • Shift-Auswahl öffnet ein Menü aller angemeldeten Disks; die angewählte Disk wird abgemeldet.
  • Shift-Spezial öffnet das Einstellungen-Fenster.
  • Ctrl-Auswahl und Ctrl-Spezial führen raFS_Unsafe und raFS_Safe aus, wodurch Write-through ein- bzw. ausgeschaltet wird.
  • Shift-Ctrl-Auswahl verursacht ein "Flush".
  • Shift-Ctrl-Spezial führt raFS_Safe -smash aus, um Write-through sofort auszuschalten.

Verzeichnis-Cache: In diesem Teil des Fensters werden die Eigenschaften des Puffers festgelegt, den raFS für Verzeichnisse verwendet, damit Zugriffe schneller werden. Wenn die Daten eines Verzeichnisses geändert werden, z.B. durch Löschen einer Datei, wird dieses abgeänderte Verzeichnis nicht sofort auf das Host-Dateisystem geschrieben, sondern erst verzögert oder nachdem eine bestimmte Anzahl von Änderungen erreicht ist, je nachdem, welches dieser Ereignisse zuerst eintritt.

Hinweis: Da Verzeichnisse erst nach einiger Zeit abgespeichert werden, führt ein Zurücksetzen oder ein Absturz des Rechners unmittelbar nach Veränderungen des Verzeichnisinhalts dazu, daß die abgespeicherten Verzeichnisdaten noch nicht aktualisiert worden sind. Öffnet man das Verzeichnis später wieder, scheinen gelöschte Dateien immer noch zu existieren, während gerade erst gespeicherte nicht erscheinen! Es muß verhindert werden, daß dieser Zustand eintritt, deswegen sollte man das verzögerte Speichern abschalten, wenn man Anwendungen laufen läßt, die häufig abstürzen, vor allem, wenn sie es während Dateizugriffen tun:

Sowohl für das Feld, in dem die Verzögerung in Hundertstelsekunden angegeben wird, als auch das, das die Anzahl der Änderungen enthält, haben die Werte 0 und 1 eine besondere Bedeutung: Durch 0 wird raFS mitgeteilt, daß das automatische Speichern nach einiger Zeit bzw. nach Änderungen komplett abgeschaltet werden soll. (Wenn beide Werte 0 sind, werden Verzeichnisse erst gespeichert, wenn die maximale Cache-Größe erreicht wurde und für weitere Verzeichnisse Platz gemacht wird, sowie beim Abmelden der Disk.) Steht in einem der beiden Felder der Wert 1, werden jegliche Änderungen an den Verzeichnisdaten sofort auf dem Host-Dateisystem gespeichert. (Wenn du dich ein wenig mit *-Kommandos auskennst, kannst du Write-through auf elegantere Weise anschalten, indem du raFS_Unsafe- und raFS_Safe-Kommandos in die !Run-Dateien der Anwendungen einfügst.)

Gemischt: Eine Reihe von Optionen für raFSFiler.

  • Nach "!Mount" suchen: Wenn angeschaltet, sucht raFSFiler in allen Verzeichnissen, die geöffnet werden, nach Dateien namens !Mount und führt sie aus.
  • Schließen mit Spezial öffnet Parent: Wenn angeschaltet, wird beim Schließen eines raFS-Root-Verzeichnisses mit Spezial das dem Ablageverzeichnis übergeordnete Verzeichnis geöffnet.
  • Beenden-Eintrag im Icon-Bar-Menü: Wenn dir nicht gefällt, daß raFSFiler im Gegensatz zu ADFSFiler einen Beenden-Menüeintrag hat, kannst du diese Option ausschalten.
  • Beenden RMKillt: Beeinflußt, ob die beiden raFS-Module beim Beenden aus dem Speicher entfernt werden. Ist die Option für raFS an, bedeutet das, daß alle Disks abgemeldet werden.

Am unteren Rand des Fensters sind vier Knöpfe: Grundeinstellungen setzt alle Felder des Fensters mit Ausnahme der ersten drei auf die Grundeinstellungen zurück. Mit Speichern werden die aktuellen Einstellungen übernommen und außerdem abgespeichert. Abbruch verwirft eventuelle Änderungen in den Feldern - man kann auch mit Spezial auf den Knopf klicken, um die gerade aktiven Einstellungen wieder in die Felder einzufüllen. Setzen übernimmt die Einstellungen in den Feldern, jedoch gehen diese beim Ausschalten des Rechners verloren. Klickt man auf die letzten drei Knöpfe mit Auswahl, wird das Einstellungen-Fenster geschlossen, mit Spezial bleibt es offen.

Zurück zum Inhaltsverzeichnis


Überprüfen fehlerhafter Disks

Manchmal können raFS-Disks Fehler aufweisen. Meistens ist der Grund hierfür, daß der Computer abstürzte, nachdem Daten gespeichert wurden, aber noch bevor die geänderten Verzeichnisdaten auf das Host-Dateisystem zurückgeschrieben werden konnten. Dies äußert sich dann darin, daß auf einige Dateien nicht mehr zugegriffen werden kann, andere, die kurz vor dem Absturz gespeichert wurden, tauchen nicht im Verzeichnis auf, wieder andere scheinen noch vorhanden zu sein, obwohl sie gelöscht wurden.

Lösche auf einer fehlerhaften Disk keinesfalls die Dateien, die Fehlermeldungen hervorrufen - dadurch könnten die Daten anderer Dateien gelöscht werden!

Das Prüfen der Disk ist ein Mittel, die Fehler zu erkennen und zu reparieren. Um eine Disk zu prüfen, wähle ihren Namen im Prüfen-Untermenü auf der Icon-Bar an (oder benutze das Verify-Kommando). Anstatt auf den Disknamen zu klicken kannst du auch nur den Prüfen-Eintrag selbst anklicken, dann werden automatisch diejenigen Disks geprüft, bei denen vorher Fehler aufgetreten sind. Es werden die Namen der Verzeichnisse ausgedruckt, die gerade durchsucht werden, zusammen mit anderen Meldungen, von denen einige noch einer genaueren Erklärung bedürfen:

  • Korrektur: Erstes nicht gefülltes Verzeichnis ist 'A0.B0': Kann auch bei korrekten Disks auftreten und ist nichts, worüber man sich Gedanken machen muß.
  • Unterschiedliche Dateilängen! 'Reparieren', wenn Daten in 'A0.B0.C0' zu '$.File' gehören. 'Überspringen', wenn sie zu anderer Datei gehören: Da raFS sich nicht sicher ist, ob der Verzeichniseintrag auf die korrekten Daten zeigt, hat man hier die Wahl (es könnte ja auch noch einen weiteren, korrekten Verzeichniseintrag geben!). Wenn du dir nicht sicher bist, wähle Überspringen.
  • Dateilänge wird auf Null gesetzt / Verzeichnis wird in ein leeres Verzeichnis umgewandelt: Dies bedeutet nicht, daß die Datei oder das Verzeichnis gelöscht wird. Tatsächlich sind die Daten bereits verloren und raFS entfernt nur die Referenz auf sie.
  • Die Namen der verbleibenden X Dateien gehen leider verloren! Die Dateien werden in 'Lost+Found' eingefügt: Eventuell werden weniger Dateien eingefügt als angegeben, da Dateien, deren Länge Null ist, stattdessen gelöscht werden.
Alle unreferenzierten Verzeichnisse und Dateien, die gefunden werden, werden in das Lost+Found-Verzeichnis kopiert, das im Root-Verzeichnis der Disk erzeugt wird.

Zurück zum Inhaltsverzeichnis


Kontakt zum Autor

Falls du mir einen Bug-Report schicken willst, Vorschläge dazu hast, was zukünftige Versionen von raFS unterstützen sollten oder mir nur allgemein sagen willst, wie wundervoll es ist, kannst du mich entweder per Email (bevorzugt) oder auf dem "normalen" Postweg erreichen.

Zurück zum Inhaltsverzeichnis


Überblick über die Versionen

Vielen Dank an folgende Leute für Vorschläge und Bug-Reports: Stefan Bellon, Emil Brunavs, Peter Burwood, Nick Clark, Dave Daniels, Justin Fletcher, Mike Gregory, Tony Houghton, Rick Hudson, Hans de Jong, James Larcombe, Vincent Lefevre, Marko Lukat, Robin Moffatt, Jakob Stoklund Olesen, David Pilling, Tim Rowledge, Darren Salt, Reiner Schulz, Dick Tanis, David Thomas, Reuben Thomas, Martin Tillman.

V1.15 (14-11-1998)

  • Weniger strenge Vorgehensweise, wenn nach Resets oder Abstürzen Lock-Dateien zurückbleiben: Es wird nur eine Warnung ausgegeben. Wenn hierzu ein Fehlerfenster geöffnet wird, schließt es sich nach einer wählbaren Zeitspanne wieder von selbst,
  • Beim Anwählen des Prüfen-Eintrags des Icon-Bar-Menüs oder bei Verify * werden genau die Disks geprüft, für die es nötig ist,
  • Bugfix im Code für das Prüfen von Disks: Geöffnete Dateien werden jetzt korrekt behandelt,
  • Wenn !raFS in !Boot.Choices.Boot.PreDesk kopiert wurde, verzögert sich das Anmelden der Disks, die beim Starten automatisch angemeldet werden, nicht mehr, bis die Welcome-Screen angezeigt wurde,
  • Neues Kommando raFSFiler_Menu erzeugt benutzerdefinierte Menüs mit den Namen aller Disks; die Grundeinstellungen wurden geändert und benutzen es,
  • Das rafsln-Utility erlaubt es, raFS-Disks auf Unix-Systemen zu lesen - ein Binary für ARMLinux liegt dem Quelltext bei,
  • Einige Verbesserungen, um die Benutzung von schreibgeschützten Disketten im DOS-Format zu erlauben - solche Disks müssen mit -ro angemeldet werden,
  • raFSFiler sucht jetzt im Root-Verzeichnis von Image-Dateien nach !Mount-Dateien,
  • Vincent Lefevre hat die Templates und Messages freundlicherweise ins Französische übersetzt,
  • Fehler bei Mount behoben, der verhinderte, daß alle Kombinationen der Kommandozeilen-Switches angenommen wurden.
V1.14 (15-10-1998)
  • Verify sucht nach Fehlern in einer Disk und repariert sie,
  • Eine Lock-Datei wird beim Anmelden im Ablageverzeichnis erzeugt, so daß bekannt ist, ob auf die Disk geschrieben werden kann und ob das Ablageverzeichnis umbenannt wurde,
  • Das Öffnen von Verzeichnissen (mit dem einige Programme deren Vorhandensein überprüfen) funktioniert jetzt unabhängig von den Zugriffsrechten,
  • Von Dateien, die nur zum Schreiben geöffnet wurden, kann auch gelesen werden,
  • Die RiscOS 3.1-Version benutzt optional anstelle der Sprite-Area die RMA, um Inkompatibilitäten mit anderen Programmen zu verhindern,
  • Die Dateien !Atterer, !Mount und !Dismount können auch _Atterer, _Mount und _Dismount heißen - Kompatibilität mit ISO CD-ROMs,
  • raFSFiler benutzt sowohl das URI-Protokoll als auch die ANT-URL-Message, um URLs zu senden,
  • Beim Eintippen eines sehr langen Namens im Fenster 'Neue Disk erzeugen' wird das Namensfeld nicht mehr zerstört,
  • Einige kleinere Bugs behoben.
V1.13 (10-05-1998)
  • Ich war versucht, endlich ein Easter-Egg in raFS einzubauen, habe mich dann aber doch zurückgehalten, da dies wohl nicht ganz das ist, was man in einem Dateisystem sehen will :-)
  • Zwei Bugs wurden in einer Zwischenversion 1.12a ausgebessert: Der eine verursachte manchmal Undefined instruction-Exceptions in raFSFiler, der andere verhinderte in den meisten Fällen, daß raFS_Opt funktionierte, da der -LoadMessages-Switch immer angegeben werden mußte,
  • raFSFiler wurde erweitert; jetzt können bis zu drei Disks beim Starten gemountet werden und bei Klicks auf das Icon-Bar-Symbol sind verschiedene Kommandos bei gedrückter Shift- oder Ctrl-Taste möglich. Außerdem erlauben neue Optionen es, den Wimp-Filter auf dem Filer auszuschalten und das Verhalten des Beenden-Menüeintrags zu beeinflussen.
  • Im Fenster Neue Disk erzeugen geht das Erzeugen einer Disk, bei der Diskname und Name des Ablageverzeichnisses gleich sind, jetzt viel einfacher. (Ctrl-C kann dazu benutzt werden, den Namen vom oberen in das untere Feld zu kopieren.)
  • Klicks mit Spezial auf das Root-Verzeichnis einer Disk führen dazu, daß das dem Ablageverzeichnis übergeordnete Verzeichnis geöffnet wird. James Larcombe hat genau dies bereits in einem eigenen Modul implementiert, nur um dann zu erfahren, daß ich es schon selbst in raFSFiler eingebaut hatte - Entschuldigung!
  • Neues Kommando raFS_ExecAfter.
  • Eine einfache Prüfung der Namen von Ablageverzeichnissen gibt eine Warnung aus, wenn versucht wird, eine raFS-Disk anzumelden, die selbst auf raFS gespeichert ist,
  • raFS_Opt -OpenRename wählt aus, ob es möglich ist, geöffnete Dateien umzubenennen. In der Voreinstellung ist es möglich,
  • Bei raFS_Unsafe und raFS_Safe wird ein -verbose-Switch unterstützt,
  • Die Variable raFS$NoChecks erlaubt es, auch Dateitypen von Image-Dateien anzugeben, um für diese die Integritäts-Checks auszuschalten,
  • In der Messages-Datei kann man eine !Dismount-Datei angeben, die beim Erzeugen neuer Ablageverzeichnisse automatisch in diese geschrieben wird. Allerdings wird in der Grundeinstellung keine !Dismount-Datei erzeugt,
  • Memory-Leak in raFSFiler behoben, der auftrat, wenn beendet und das Modul anschließend mit Desktop_raFSFiler neu gestartet wurde,
  • Name der dynamischen Area wird aus den Messages gelesen,
  • Bugfix: Wenn eine Datei ohne Schreiberlaubnis mit OPENOUT geöffnet wurde, gab es für alle Schreibversuche einen Fehler, aber dennoch wurde der Extent auf Null zurückgesetzt. Verhält sich jetzt genau wie FileCore: Der Extent wird als Null zurückgegeben, in Wirklichkeit aber beibehalten.
V1.12 (22-02-1998)

Auf einer Acorn User-Coverdisk veröffentlicht.

  • Es ist jetzt nicht mehr nötig, verschiedene Versionen der raFS(Spr)-Module je nach Sprache zur Verfügung zu stellen; stattdessen können die Standard-Texte (auf Englisch) mithilfe des Befehls raFS_Opt -LoadMessages überschrieben werden
  • Dick Tanis hat die Programmtexte freundlicherweise ins Holländische übersetzt - vielen Dank!
  • Die Größe von Image-Dateien wurde noch immer auf Null gesetzt - ist jetzt definitiv behoben. Allerdings führt das neue Verhalten dazu, daß SparkFS beim Überschreiben von Archiven durch Erzeugen eines neuen Archivs mit demselben Namen einen Fehler ausgibt,
  • Es ist nicht mehr möglich, ein Verzeichnis in sich selbst zu verschieben - dies führte dazu, daß nicht mehr auf den Inhalt des Verzeichnisses zugegriffen werden konnte,
  • "Workaround" dafür, daß in der englischen Version der Untermenü-Titel auf "Enter new na" verkürzt wurde - der Text ist jetzt "New name" :-) Die Verstümmelung ist auf einen Bug in MessageTrans 0.31 und früher zurückzuführen - in V0.32 wurde dieser behoben,
  • Fehler von V1.11 korrigiert, die zu Paßt nicht zu diesem Verzeichniseintrag oder Die Datei ist nicht zum Ändern geöffnet führten,
  • Gibt jetzt keinen Disk wurde bereits angemeldet-Fehler mehr aus, wenn der Ablageverzeichnis-Pfad sich in der Groß-/Kleinschreibung vom beim Anmelden verwendeten Pfad unterscheidet.
V1.11 (14-02-1998)
  • Umgehung eines gefährlichen Bugs: Die Größe von Image-Dateien wurde manchmal auf Null zurückgesetzt, wenn auf die Datei zugegriffen wurde,
  • Schwerwiegender Bug behoben: Falls eine Datei dadurch überschrieben wurde, daß eine neue mit dem gleichen Namen gespeichert wurde, wurden die Verzeichnisdaten nicht als geändert markiert, was zu Paßt nicht zu diesem Verzeichniseintrag-Fehlern führen konnte,
  • Das Öffnen einer Datei mit OPENOUT konnte ebenfalls zu Paßt nicht zu diesem Verzeichniseintrag führen, wenn die Datei nicht unmittelbar nach dem Schließen gestempelt wurde,
  • Der sequential pointer einer Datei wird auf korrekte Werte gesetzt, wenn versucht wird, über das Ende der Datei hinaus Daten zu lesen,
  • (Nur in der englischen Version) Problem mit "Enter new na" als Untermenü-Titel behoben,
  • Desktop_raFSFiler kann jetzt auch mit dem -newdisc-Schalter aufgerufen werden, um das "Neue Disk erzeugen"-Fenster zu öffnen,
  • Im "Neue Disk"-Fenster wird die Disk sofort erzeugt, nachdem das Symbol auf ein Verzeichnis gezogen wurde,
  • Free-Kommando wurde implementiert,
  • Verhalten von Mount korrigiert - jetzt wird nicht mehr das CSD auf das Root-Verzeichnis der neuen Disk gesetzt, sondern nur FileSwitch$raFS$CSD,
  • Ist das CSD nicht eingestellt (z.B. nach NoDir), greifen Dir und Cat auf das Root-Verzeichnis zu, anstatt einen Disk nicht bekannt-Fehler hervorzurufen,
  • (Nur RiscPC-Version) Bugfix: Traten beim Speichern von Verzeichnisdaten Fehler auf, konnte das später zu dem Fehler Verzeichnisdaten sind ungültig führen,
  • Maximale Größe der dynamischen Area jetzt 1 MB statt des gesamten verfügbaren RAMs,
  • Problem mit dem raFSFiler behoben; dieser beklagte sich manchmal: Die Message-Datei ist bereits geöffnet,
  • Verzeichnisdaten werden beim Speichern auf das Host-Dateisystem jetzt in allen Fällen als "Data" (&FFD) gestempelt.
V1.10 (10-01-1998)
  • Es gibt jetzt einen raFSFiler!
  • raFS wurde bei Acorn registriert, ihm wurde die Dateisystem-Nummer 142 zugewiesen,
  • Größeres Update der Anleitung, Übersetzung des ersten Teils,
  • Das Dateisystem-Modul kann direkt von Assembler aus aufgerufen werden,
  • Endlich gibt es Unterstützung für das Speichern von Verzeichnissen nach einer Verzögerung (-DirsaveDelay-Schalter von raFS_Opt) oder nach einer bestimmten Anzahl von Änderungen der Verzeichnisdaten (-DirsaveMods-Schalter),
  • raFS_Unsafe und raFS_Safe wurden geschrieben, um Write-through nur vorübergehend einzuschalten,
  • Unterstützung von !Mount- und !Dismount-Dateien, zusammen mit dem -X-Schalter des Mount-Kommandos,
  • Mount und Dismount setzen raFS$(D)Disc auf den Namen der an-/abgemeldeten Disk,
  • raFS_Create schreibt jetzt eine !Mount-Datei in Ablageverzeichnisse. Der neue -app-Schalter veranlaßt es außerdem, bei Applikations-Verzeichnissen noch !Sprites- und !Run-Dateien hinzuzufügen,
  • Disk-Integrity-Checks wurden zu den Operationen Öffnen, Laden, Speichern, Löschen und Erzeugen hinzugefügt, ebenso wird jetzt die Variable raFS$NoChecks unterstützt,
  • Ein "Feature" wurde verbessert - wenn man eine Datei in ein anderes Verzeichnis verschob, wurde sie von raFS in den Speicher geladen, anschließend aber sofort wieder aus diesem gelöscht - hoppla! :-)
  • NameDisc prüfte nicht nach, ob eine Disk mit dem neuen Namen schon angemeldet war - jetzt erzeugt dies einen Fehler. Außerdem wird die abgeänderte !Atterer-Datei jetzt sofort gespeichert und der neue Name der Disk kann länger als 10 Zeichen sein (funktionierte nicht, weil OS_FSControl 50 verwendet wurde - jetzt wird der Name direkt geändert),
  • Mount entgeht nicht mehr, daß eine Disk mit dem gleichen Namen schon angemeldet ist, wenn die Groß-/Kleinschreibung der Namen verschieden ist,
  • Ein relativ ernster Bug wurde gefunden, er trat bei einem Close auf einem von raFS' Host-Dateisystemen auf, wenn raFS auf diesem Dateisystem Dateien geöffnet hatte,
  • Bei einem Service_Shutdown werden jetzt nicht mehr sofort alle Disks abgemeldet (dadurch wurden Anwendungen, die nach raFS beendet wurden, daran gehindert, etwas auf einer raFS-Disk zu speichern), stattdessen wird ein raFS_Unsafe ausgeführt (nur, wenn raFS_Unsafe nicht schon vorher ausgeführt wurde),
  • Kleinerer Bugfix: Unter unwahrscheinlichen Umständen kam es dazu, daß bei einem Fehler während des Abspeicherns von Dateien eine unreferenzierte Datei zurückblieb,
  • Wird das Modul mit RMRun gestartet, so wird raFS als aktuelles Dateisystem gewählt,
  • Größtmögliche Anzahl von Disks wurde auf 50 erhöht, die Standardgröße des Verzeichnis-Cache ist jetzt 30k.
V1.02 beta (30-11-1997)
  • Neues Kommando raFS_Discs,
  • Wird jetzt eine Datei nur für Ausgabe geöffnet, nicht auch für Eingabe, wird ihr Extent auf Null gesetzt. Da raFS in beiden Fällen genau die gleichen Aufrufe bekommt, wird das dadurch erreicht, daß die Routine auf FindV sich merkt, wie OS_Find zuletzt aufgerufen wurde,
  • Mount, Dismount und NameDisc sind jetzt Dateisystem-Befehle,
  • Der -path-Schalter wurde zum Mount-Kommando hinzugefügt,
  • Mount gibt jetzt keine Fehlermeldung mehr aus, wenn versucht wird, die gleiche Disk zweimal anzumelden; das Kommando (und auch Dismount) setzt das CSD/URD auf korrekte Werte,
  • Fix für einen Bug, der verhinderte, daß Verzeichnisse wieder geöffnet werden konnten, nachdem sie aus dem Verzeichnis-Cache geflusht worden waren, wenn ein Dateiname eines der Zeichen #%&*@\^ enthielt,
  • Back funktioniert jetzt,
  • Dateiformate sind in der Anleitung angegeben.
V1.01 beta (09-11-1997)
  • Bugfix in raFS_Flush und Dismount,
  • Separate RiscPC-Version des Moduls, die eine Dynamische Area verwendet.
V1.00 beta (30-10-1997)
  • Erste veröffentlichte Version: Lange Dateinamen, beliebig viele Dateien in Verzeichnissen, Verzeichnis-Cache; kein Datei-Cache oder automatisches Abspeichern von geänderten Verzeichnissen.