Short: Second Extended FileSystem (EXT2) driver Author: Marek Szyprowski Uploader: Marek Szyprowski Type: disk/misc Version: v0.41 Replaces: disk/misc/ext2fs_* Architecture: ppc-morphos; m68k-amigaos Status: freeware, please read http://szef.niente.eu.org/~march/progs/donate.html This is the Second Extended FileSystem (EXT2) driver for MorphOS and AmigaOS3.x The filesystem driver has been tested for long time and I hope all critical bugs has been already removed. Please read the disclaimer before using it. *** Changes between v0.41 and v0.36 (see changelog for more details) *** - minor bugfixes in locks handling and notification support - fixed performance degradation after 4GB file size boundary (MorphOS version) *** Changes between v0.36 and v0.33 *** - added experimental support for some extentions used on Ext3 disks created by Fedora Core Linux distribution: - support for larger inode size - support for extended attribute block - support for indexed directories (however they are converted to standard list-based directories on any write action) - added support for dos notification (ACTION_ADD_NOTIFY/ACTION_REMOVE_NOTIFY) *** Changes between v0.33 and v0.30 *** - added support for 2 rarely used actions: ACTION_FH_FROM_LOCK and ACTION_MODE_CHANGE - fixed deleting of large files (with triple indirect blocks, larger than 4GB) - some other minor fixes *** Changes between v0.24 and v0.30 (see changelog for more details) *** - once again fixed a lot of minor bugs - added support for filesystem prefs framework (on-fly preferences change) - added support for EXAMINE_ALL action - added DOS 64-bit calls support (MorphOS 2.0 required) *** Changes between v0.20 and v0.24 (see changelog for more details) *** - fixed a lot of minor bugs - huge speed-up in deleting large files - added support for sparse files - disabled debug messages *** Changes between v0.16 and v0.20 (see changelog for more details) *** - added support for software write-protection (ACTION_WRITE_PROTECT packet) - made cache buffers flush asynchronous - this makes all write operations a lot faster - fixed problem with incompatible volume names (like these containing characters '/' and ':') - the driver now is able to format disk and create all EXT2 filesystem structures (ACTION_FORMAT packet) - by default the filesystem is case insensitive, but you can change this by setting the control field in the mountlist to "CASESENSITIVE" *** Changes between v0.13 and v0.16 (see changelog for more details) *** - much better removable media handling - fixed ugly bug in file size changing routine (now correctly handles small changes) - fixed possible DirectoryOpus5 crash, when non-dos disk is inserted - it is now possible to put this filesystem in RDB (only MorphOS version has been tested!) - added support for handler shutdown (ACTION_DIE packet) *** What's new since v0.5 realase *** This is a really major update. The driver has totaly changed since v0.5 realase. Almost complete write support has been added. It is not yet well tested, but should work well. Also removable media are now supported. In v0.13 a small workaround has been added to fix problems with directory deleting. *** Features *** * support for EXT2 and EXT3 partitions * support different blocksizes and automatically adapts to correct blocksize * special un*x files like socket, pipe or devices are listed as files with 0 size * hardlinks and symlinks (softlinks) are supported * almost complete write support * removable media (i.e. floppies) support * support disk formating and creating EXT2 filesystem structures * it is almost complete filesystem (you can put it in RDB for automount on startup) * unique volume names for unnamed filesystems * configurable cache size * thanks to great libDeviceIO from Marcin 'Morgoth' Kurek there is: - effective and fast read cache system - support for partitions beyond 4GB boundary (using TD64) *** Limitations *** * some rarely used filesystem packets are not supported (read packets.readme for more information) * there are still some problems with symlinks * there might be bugs somewhere * 68k version lacks support for files larger than 2GB *** Disclaimer *** Write support is not tested enough yet, so use it with care. This driver is still in beta stage. This means that driver MIGHT corrupt or damage your data on your disk. Remember that! YOU USE IT ON YOUR OWN RISK! The author, developers, and all concerned cannot and will not take responsibility for any damage done to your data or disks. *** Cache size and disk buffers *** From version 0.4 you can adjust number of memory buffers used by this filesystem. Just set 'Buffers' field in mountlist to the requested number of buffers. The only difference between this and other filesystems that the size of SIGNLE buffer is 16KB, NOT the size of filesystem block. So setting 64 buffers will use about 1MB of memory! Reasonable value for EXT2 filesystem is over 128 or 256 buffers (2MB or 4MB), otherwise overall speed of the filesystem will be rather low. *** Filenames matching and case sensitivity *** By default the filesystem is case insensitive. This means that it won't distinguish filename 'foobar' from 'FooBar'. If this is a problem you can revert to old behaviour (case sensitive filesystem) by adding the following line to your mountlist: Control = "CASESENSITIVE" *** How to install *** Copy EXT2FileSystem to SYS:L, then create a mountlist for your partition and mount it with shell 'mount' command. The easiest way to create a mountlist for EXT2 partition or disk is to use GiggleDisk tool created by Guido Mersmann. It is available on http://www.geit.de/ Once you generate mountlist please make sure that the following fields have correct values: GlobVec = -1 DosType = 0x45585432 StackSize = 16384 FileSystem = L:EXT2FileSystem Activate = 1 Set the 'Buffers' field to requested value you determined during reading the 'Cache size' paragraph. If you want to have EXT2 partition mounted every boot, copy your mountlist to SYS:Devs/DOSDrivers *** Author, contact and copyright infos *** EXT2FileSystem has been written by Marek 'March' Szyprowski . Mail me if you have any suggestions or found a bug. Copyright (C) 2004-2009 by Marek 'March' Szyprowski All of the SOURCE CODE of this driver is written from scratch. I did not use any GPL covered code in this driver. Ext2FileSystem is a free software. If you want to support its development please read http://szef.niente.eu.org/~march/progs/donate.html *** Thanks *** EXT2FileSystem uses libDeviceIO by Marcin Kurek (Morgoth/Dreamolers-CAPS). Big thanks to him for it and for help in writing this driver. Special thanks to Thore Boeckelmann, the author of diskimage.device. Without it I would not be able to make write support. Special thanks to Harry 'Piru' Sintonen for elfwrapper and help in making real filesystem. Thanks to all beta testers and people who helped in creating this driver, especially: - Paweł 'stefkos' Stefański - Tomasz 'Kaczu¶' Kaczanowski - Grzegorz 'Krashan' Kraszewski - Jacek 'jacaDcaps' Piszczek - Marcin 'Morgoth' Kurek