linux-l: Grosse Datenfiles-value too large for defined data type
Frank Reker
frank at reker.net
So Jul 15 16:48:00 CEST 2001
Am Wed, 11 Jul 2001 at 13:17:13 +0200 hat news folgendes geschrieben:
> wir haben hier das Problem das wir Verzeichnisse mit DB Files (>5GB)
> sicher wollen.
>
> Aber jetzt bringen alle Applikationen (mc, taper...) die selbe
> Fehlermeldungen
>
> "file xxxx exists but can not be stat-ed:value too large for defined
> data type while doing get info call"
>
> Das System läuft auf ReiserFS Kernel 2.4.5
>
Entweder neue libc, und progs neu compilieren.
Oder mini-prog schreiben, das die Files in kleine Happen zerlegt.
-- snip --
#include <stdlib.h>
#include <stdio.h>
int
main (argc, argv)
int argc;
char ** agrgv;
{
char * filein, *fileout;
FILE *fin, *fout;
int i,j;
char buffer[1024];
if (argc < 2) {
fprintf (stderr, "usage: mysplit <filename>\n");
return -1;
}
filein=argv[1];
fileout=malloc (strlen(filein)+5);
if (!(fin=fopen (filein, "r"))) {
fprintf (stderr, "can not open %s\n", filein);
return -2;
}
for (i=0;1;i++) {
if (feof (fin)) break;
sprintf (fileout, "%s.%d", filein, i);
if (!(fout=fopen (fileout, "w"))) {
fprintf (stderr, "can not open %s\n", fileout);
return -2;
}
for (j=0;j<1024*1024;j++){
fread (buffer, 1024, 1, fin);
fwrite (buffer, 1024, 1, fout);
}
fclose (fout);
}
fclose (fin);
return 0;
}
-- snap --
speichere unter mysplit.c
cc -o mysplit mysplit.c
mysplit <filename>
not tested but should work.
Du erhaelst dann 5, 6, ... files mit dem Namen <filename>.1 ...
jeweils max 1GB gross.
--
Don't worry be happy ...
Ciao tex
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 240 bytes
Beschreibung: nicht verfügbar
URL : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20010715/8021f04b/attachment.sig>
Mehr Informationen über die Mailingliste linux-l