Subject | Re: [ib-support] Large database file support |
---|---|
Author | David K. Trudgett |
Post date | 2001-09-06T00:10:15Z |
On Wednesday 2001-09-05 at 09:59:53 -0400, Leyne, Sean wrote:
GLIBC 2.2.2-10 and is reputed to work fine with large files (I use it
myself on my workstation, but haven't cracked the 2Gb file size yet).
On a more general note, but specifically regarding Linux :-) , there are (at
least) three factors that impact on maximum file size: (1) VFS support
(2) filesystem support; and (3) system library support (GLIBC). The Linux
kernel accesses different filesystems via the VFS (virtual filesystem)
abstraction layer. In the past, the VFS itself had a (signed) 32 bit limit,
which meant that _no_ Linux files on any type of filesystem could be bigger
than 2Gb. I'm not sure when the VFS limitation disappeared, but it is
definitely gone now (probably replaced by a 64 bit limit ;-)). I don't know
much about (2) and (3) except that in the latest Linux distributions, they
are no longer a problem either. In the case of the Ext2 filesystem (the
default native filesystem on most Linux systems), I believe it has
either always supported large files or has done so for quite a while.
[Note to the reader, in case it's not obvious! Please treat the above info
as an indication, not as gospel. I'm only the monkey repeating what I've
heard from sources that I believe to be reasonably authoritative.]
;-)
GNU/Linux is great, of course, and getting better by the day. Keep your eye
out, though, for the next generation free Unix(-like) kernel, the GNU Hurd.
It's about 90% production quality now, which means that in about 12 months
or so it will be "fully functional". The GNU Hurd people are presently
busily compiling hundreds of packages to run on the Hurd. The Hurd is based
on modern micro-kernel architecture, and will deliver an order of magnitude
greater reliability and flexibility compared to the monolithic Linux
kernel. gnu.org has further info for those who may be interested.
Sorry for the off-topic aside.
David Trudgett
> All,Hi Sean, thanks for this info!
>
> Since there is an ongoing thread about large file support issues and
> since I'm responsible for doing the research for the large file changes
> to the Firebird engine, I thought I would publish this definitive
> response (I hope I get the *nix stuff right).
>Just a niggle: I think the people who make them call them "filesystems".
> Second, the size issue is really the result of 3 separate factors -- the
> implementation (coding) of the FB/IB engine I/O functions, the support
> for 64bit file operations and support for large files by the filing
> systems.
>I'm not sure if that version you quoted is correct. Red Hat 7.1 ships with
> In the case of *nix, 64bit file operations are only supported with the
> latest (v2.4) glibc. This support only ships with the latest
GLIBC 2.2.2-10 and is reputed to work fine with large files (I use it
myself on my workstation, but haven't cracked the 2Gb file size yet).
On a more general note, but specifically regarding Linux :-) , there are (at
least) three factors that impact on maximum file size: (1) VFS support
(2) filesystem support; and (3) system library support (GLIBC). The Linux
kernel accesses different filesystems via the VFS (virtual filesystem)
abstraction layer. In the past, the VFS itself had a (signed) 32 bit limit,
which meant that _no_ Linux files on any type of filesystem could be bigger
than 2Gb. I'm not sure when the VFS limitation disappeared, but it is
definitely gone now (probably replaced by a 64 bit limit ;-)). I don't know
much about (2) and (3) except that in the latest Linux distributions, they
are no longer a problem either. In the case of the Ext2 filesystem (the
default native filesystem on most Linux systems), I believe it has
either always supported large files or has done so for quite a while.
[Note to the reader, in case it's not obvious! Please treat the above info
as an indication, not as gospel. I'm only the monkey repeating what I've
heard from sources that I believe to be reasonably authoritative.]
> distributions (Red Hat 7.x and Mandrake 8.x), although I understand thatIt can be difficult to remember that there are other Unixes besides Linux
> existing installs can be updated. Since support is not guaranteed for
> all platforms, there will be 2 versions of the Firebird *nix ports
> (32bit and 64bit I/O).
;-)
GNU/Linux is great, of course, and getting better by the day. Keep your eye
out, though, for the next generation free Unix(-like) kernel, the GNU Hurd.
It's about 90% production quality now, which means that in about 12 months
or so it will be "fully functional". The GNU Hurd people are presently
busily compiling hundreds of packages to run on the Hurd. The Hurd is based
on modern micro-kernel architecture, and will deliver an order of magnitude
greater reliability and flexibility compared to the monolithic Linux
kernel. gnu.org has further info for those who may be interested.
Sorry for the off-topic aside.
David Trudgett