transparentes Filesplitting
Jan-Benedict Glaw
jbglaw at lug-owl.de
Tue Mar 2 14:46:58 CET 2004
On Tue, 2004-03-02 14:36:02 +0100, root at linuxbu.de <root at linuxbu.de>
wrote in message <5301989$107823429040448cb22ec388.72710716 at config22.schlund.de>:
>
> Gibt es die Möglichkeit ein File (sagen wir 15GB) gross für das Programm
> welches dieses erzeugt transparent in mehrere Segmente (z.b. ein zu je
> 1 GB) zu splitten? Das Programm selber soll davon nichts mitbekommen,
> die Segmente beim wiedereinlesen also wieder zusammengefügt bekommen.
> Anwendungsbeispiel ist etwas schwer zu erklären, am besten ein
> filesystem vorstellen welches nur 1 GB Maximale Filegröße erlaubt aber
> Programme laufen lassen soll die unbedingt mehr benötigen.
>
> Hat jemand eine (auch rein theoretische) Idee dazu?
Das ist vermutlich garnicht mal so schwer. Du mußt "eigene" Versionen
von open(), read(), write() und close() zur Verfügung stellen. Die
kannst Du einfach in eine kleine Lib packen und mit LD_PRELOAD vorladen:
$ LD_PRELOAD=/path/to/splitfiles.so ./some_program_using_large_files
Einziger Haken: open() kann zwei oder drei Argumente übergeben bekommen.
Ich hab' noch nicht 'rausfinden können, wie man dazwischen unterscheiden
kann :(
Das ist übrigens eine ganz nette Variante, um dynamisch gelinkte
Programme zur Zusammenarbeit zu überreden (denke an abgelaufene
Lizenzen, kaputtgegangene Netzwerkkarten, sodaß MAC-Adressen nicht mehr
stimmen, ...).
MfG, JBG
--
Jan-Benedict Glaw jbglaw at lug-owl.de . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20040302/f5a1b45a/attachment.sig>
More information about the Linux
mailing list