Mailinglist Archive: opensuse-de (2377 mails)
| < Previous | Next > |
RE: max. gr"osze einer ext2-partition?
- From: gerd.prokasky@xxxxxxxx (Prokasky, Gerd)
- Date: Wed Dec 02 14:31:12 1998
- Message-id: <13971CBF5B2CD211AAAD00A0C9D55E7A28DCCA@xxxxxxxxxxxxxxxxxxxxxxxxx>
Hallo Bernd,
Deine Ausfuehrung ist absolut richtig. Bei einer physikalischen Blockgroesse
von 1K ergeben sich THEORETISCH ~ 16GB :
Ein Inode enthaelt 12 Adressen, die Datenbloecke direkt referenzieren, 3
Adressen die Datenbloecke indirekt referenzieren (einfach-, zweifach- und
dreifach indirekt). Daraus ergibt sich:
(12 * 1K) + (256 * 1K) + [256 * (256 * 1K)] + {256 * [256 * (256 * 1K)]}
16843020K
Dies ist jedoch "nur" die theoretische file Groesse, die sich aus der
physikalischen Struktur des ext2fs ergiebt. Praktisch gibt es jedoch kein
Programm, das unter einem 32 bit OS eine Datei dieser Groesse adressieren
kann. Praktisches Beispiel:
Datei A ist 1MB
-rw-r--r-- 1 root other 1048576 Dec 2 14:03 A
folgendes shell-scripts kopiert A immer wieder an ./Big_file dran:
#!/bin/sh
I=0
while true; do
I=`expr $I + 1`
cat ./A >> ./Big_file
echo "$I \c"
done
exit
... 2043 2044 2045 2046 2047 cat: write error: Invalid argument
Siehe da: nach der 2048 Iteration bricht der Kram ab.
-rw-r--r-- 1 root other 2147221504 Dec 2 14:16 Big_file
Gerd Prokasky
gerd.prokasky@xxxxxxxx
London UK
> -----Original Message-----
> From: Bernd Möllmann [SMTP:moellman@xxxxxxxxxxxxxxxxxxxxx]
> Sent: Wednesday, December 02, 1998 12:48 PM
> To: suse-linux@xxxxxxxx
> Subject: Re: max. gr"osze einer ext2-partition?
>
>
> "Prokasky, Gerd" wrote:
> >
> > Falsch.
> >
> > Es stehen nur 31 bit zur Verfuegung. 1 bit wird fuer das Vorzeichen
> > gebraucht:
> >
> > 1111 1111 1111 1111 1111 1111 1111 111 (bin) = 2147483647 (dual) = 2GB.
> >
> > Auf einer Solaris 2.5.1 Kiste probiert (auch 32bit OS):
> >
> > lns99d-001# mkfile 2147483647 2g_file
> > lns99d-001# ls -l
> > total 4237394
> > -rw------T 1 root other 2147483647 Dec 2 10:50 2g_file
> So weit ich weis stehen 32 bit zur Verfügung. Das hat allerdings weder
> etwas mit dem OS zu tun, noch hat es einen Einfluß auf die maximale
> Größe einer Datei. Da sich 32 bit Adressieren lassen 2^32 = 4294967296
> Datenblöcke. Bei einer Datenblockgröße von 1024 Byte ergibt das eine
> maximale Partitionsgröße von 4 TByte. Ich bin mir nicht sicher ob
> Datenblockgröße und Inodedichte identisch sind. Sollte dem so sein, so
> ergibt sich für das ext2fs eine maximale Partitionsgröße von 64 TByte.
> Die maximale Dateigröße ergibt aus der Anzahl der zu adressiernden
> Datenblöcke pro Eintrag in der I-Node. Im ext2 lassen sich 12 Blöcke
> direkt, 256 einfachindrekt, 256 doppeltindirekt und 256 dreifachindirekt
> Adressieren. Das ergibt nach Adam Riese 12
> + 256
> + 256^2
> + 256^3
> -------------
> 16843020 Datenblöcke a 1024 Byte
> was in etwa 16 GByte entspricht. Bezüglich der Datenblockgröße könnte
> man die selben Überlegungen wie oben anstellen.
>
> MfG Bernd
> --
> Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@xxxxxxxx
> schicken, mit dem Text: unsubscribe suse-linux
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@xxxxxxxx
schicken, mit dem Text: unsubscribe suse-linux
| < Previous | Next > |