Ext4 Development project

Warning : As of 2009, this site is no more maintained
(Bull team does not contribute to ext4 anymore, sorry for that)
Please visit ext4 site

pingouin Goal of this project is to develop the Ext4 filesystem.
One of the item we are working on is to make ext4 a 64bits filesystem.

GNU
64-Bits

Ext4 (64bits)  :  Ready for the future

Benchmarks
square Kernel build
Kernel 2.6.24-rc7 including ext4 patch queue.
Kernel 2.6.24-rc5 including ext4 patch queue.
Kernel 2.6.24-rc4 including ext4 patch queue.
Kernel 2.6.24-rc3 including ext4 patch queue.
square FFSB: mesure the throughput and CPU consumption when writing files with a multithreaded application. Performance comparison between Ext4, Ext3 and XFS.
Large File Creation on a 2.6.27-rc1 kernel including ext4 patch queue.
Small-file Random Read/Write/Creation on a 2.6.27-rc1 kernel including ext4 patch queue.
Large File Creation on a 2.6.26-rc2 kernel including ext4 patch queue.
Small-file Random Read/Write/Creation on a 2.6.26-rc2 kernel including ext4 patch queue.
Benchmarks done on a 2.6.23 kernel including ext4 patch queue.: benchmarking the impact of the i_version patch set.
Benchmarks done on a 2.6.21-rc4 kernel including ext4 patch queue.
Benchmarks done on a 2.6.22-rc5 kernel including ext4 patch queue.
square IOzone: mesure the throughput when writing, re-writing, reading,.. different sizes of files with a monothreaded application.
benchmarks done on a 2.6.21-rc4 kernel including ext4 patches
benchmarks done on a 2.6.22-rc5 kernel including ext4 patches
square File deletion measurement: Comparison of ellapsed time when deleting a 100GB file on ext3, ext4 and xfs filesystems.(april 2007)
How to use a 64bits filesystem
The ext4 development branch has now been integrated into the mainline since kernel 2.6.19. This branch is still under development. A documentation can be found here.
So in order to test a 64bit filesystem on ext4, you need the last e2fsprogs-1.39, to patch it with this patch set and build this e2fsprogs.
Then you will be able to create a filesystem using mkfs.ext3 as for an ext3 filesystem. If your filesystem is large enough, mkfs will switch automatically into 64bit mode. A high bytes/inode ratio is recommanded so that mkfs won't last for hours. Dumpe2fs will show if the 64bit feature is set or not. Then mount the filesystem as an ext4dev filesystem with the extents options.

mkfs.ext3 -i 1000000 /dev/sdc1 
dumpe2fs /dev/sdc1

dumpe2fs 1.39 (29-May-2006)
Filesystem volume name:
Last mounted on:
Filesystem UUID: 3db1a839-0bc9-4b83-89d3-94effcd8d743
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal filetype needs_recovery 64bit sparse_super

mount -t ext4dev -o extents /dev/sdc1 /mnt/test


If you don't have a filesystem large enough and want to test 64bit feature, there is a script that creates a sparse file to simulate a large device (See explanation by Stephen Tweedie). An other script is used to remove this sparse (./sparse_remove $map_name)

64bits benchmarks
squaresysbench (oltp)
squareiozone
squarekernbuild
64bits patches RSS
squaree2fsprogs upstream patches (updated 2006/05/24)
squarekernel 2.6.16 patches (updated 2006/04/07)
64bits binaries RSS
squareia64 binaries (updated 2006/03/09)
squarex86_64 binaries (updated 2006/03/08)
Previous work
squareext2/3 improvment
Mailing lists
squareext4-devel
squarearchive of ext2-devel
Links
squareWiki

Page unmaintained Valid XHTML 1.0! Valid CSS!