← Back to team overview

sslug-teknik team mailing list archive

Re: Linux & 2GB filer....

 

In <4BB09C4D8B6BD2119FBD00A0C969B64202FD6A@DBAMAIL> Steffen Hansen <Steffen.Hansen@xxxxxx> writes:

>   Ikke fordi det er et problem jeg tror jeg løber ind i, men hvorfor kan
>Linux ikke håndtere filer over 2Gb ?

Det er et kompliceret problem, men grundlæggende er det fordi en del af
de system-kald, der bruges til at håndtere filer - f.eks. "lseek" -
som parameter har en "longint", som er 32 bit på Intel platformen.
En signed 32-bit størrelse har max-værdien 2 GB.

Dette afspejles så også i nogle af datastrukturerne i ext2 filsystemet.

I princippet er det jo enkelt at løse, men det bliver komplekst når man
samtidig tænker på bagud-kompatibilitet, og hvordan det skal fungere 
sammen med C biblioteket osv. Der var snak om at ændre det i Linux 2.2,
men det endte med at det blev udsat til næste udviklings-cyklus, bl.a.
fordi man så regner med at GNU C biblioteket vil være mere udbredt -
og med det som runtime bibliotek er opgaven noget nemmere.

-- 
Henrik Storner     | "Software engineering is a race between engineers 
<storner@xxxxxxxx> |  who try to create foolproof software and the 
                   |  universe which is trying to create bigger fools.
                   |  So far, the universe is winning..."


References