| Arno Wagner 2007-04-06, 7:13 am |
| In comp.sys.ibm.pc.hardware.storage Maxim S. Shatskih <maxim@storagecraft.com> wrote:
[vbcol=seagreen]
> Sorry. See the cite from include/linux/ext2_fs.h below and "__u32
> i_size;" in it.
> ext2's limit is 4GB. I remember ext3 being compatible with ext2 in on-disk
> structures in everything except the transaction log, so, looks like ext3 is
> also limited to 4GB per file.
Well, yes, if you use a pretty old kernel. Or turn large
file support off. Standard limit is 2TB at the moment. And
you don't need to quote kernel source at me, I happen to
have files > 4G on ext2 at this moment. The inode type
has been extended some time ago.
An overview over the current limits of ext2 is, e.g., here:
http://en.wikipedia.org/wiki/Ext2
One thing you need to do in your software for it to be able
to handle the large files is to define
#define _FILE_OFFSET_BITS 64
in order for all the relevant types to be 64 bits transparently.
Note that you need the functions using ''off_t'' for position
specification.
> More so, if you will also find the superblock structure, you will
> see that ext2 is also limited to 32bit block numbers in the
> volume. There are good chances that this means the volume size limit
> of 2TB (if "block" is really the disk sector and not a group of
> sectors).
Filesystem size currently is 16TB. But you need large block device
support enabled in the kernel to use that. I think that is not
yet the default.
Arno
|