On 29-Dec-99 Oliver Antwerpen wrote:
...und selbst auf einem FS, daß größere Files unterstützt,muß das nicht funktionieren. Neben dem FS muß auch das Tools (hier tar) large-file-aware sein. UnixWare7 kann z.B. Files über 2GB verwalten, das UW-tar kann aber nur bis 2GB.
Sehr richtig, ich sehe aber noch weitere Problempunkte: - Die Definition der Parameter von lseek() bzw. fseek() in der libc sieht nur 32-Bit-Dateizeiger vor. Da die Parameter signed sind, gehen so max. 2 GB, wenn Byteweise adressiert werden soll (was viele Programme wohl voraussetzen dürften). Man müßte also das Filesystem erweitern, den Typ dieser Parameter (size_t?) aufbohren (--> libc neu übersetzen) und die Applikation anpassen (die muß dann auch neu übersetzt werden). Natürlich gibt es noch ein paar Funktionen mehr. Alternativ könnte man die Funktionen für files bis 2 GB beibehalten und einen neuen Satz an I/O-Funktionen mit größeren Parametern definieren (so ne Art llseek()), die dann speziell zum Zugriff auf große files dienen. Da stellt sich dann aber die Frage, was alte Programme anstellen, wenn sie auf ein großes file losgelassen werden :-(. Problemloser wären dagegen sequentielle files, die ohne seek-Funktionen auskommen. Solange nur mit streams hantiert wird, ist die Größe des darunterliegenden files egal, weil das Programm die Position im stream eh nicht auswerten sollte (bzw. kennt). Das bedeutet, daß z.B. gzip an sich keine probleme mit großen files haben sollte, tar eigentlich auch nicht. Ob das in der Praxis auch so ist, steht natürlich auf einem anderen Blatt - da hängt noch zu viel dran. Allerdings beherrscht GNU tar für Linux den Zugriff auf große Bandlaufwerke mit >> 2 GB eigentlich problemlos (das sind nur char-devices, also im Endeffekt Streams). Alles in Allem also keine soo triviale Problematik. -- =========================================================== Erhard Schwenk - alias Bitrunner =)B==o) =========================================================== No Spam replies please. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com