CHANGES FROM VERSION 11 TO 12 ============================= - fixed typo in diagnostic printk in read_super. - fixed buffer leak in msdos_rmdir. - renaming to existing files/directories now complies with POSIX.1. - fixed possible division by zero when trying to mount non-DOS file systems. - new mount option "quiet" to suppress EPERM on chmod/chown. - changed version string from "alpha.##" to "##". - fromdos/todos: added conversion between PC and Latin-1 character set. CHANGES FROM VERSION 10 TO 11 ============================= - some minor changes for 0.99pl7 compatibility. - added a check for creation of '.' and '..' to the regression test. - removed some gcc 2.3.3 warnings from smount.c and todos.c CHANGES FROM VERSION 9 TO 10 ============================ - lowered the 12 bit FAT limit from 4086 to 4078 clusters. - added new mount option "fat". - bad sectors in files now imply EOF. - disallowed creation of directories '.' and '..' in root. - improved boot sector sanity checks. - fixed a race condition in RSS_FREE (misc.c) CHANGES FROM VERSION 8 TO 9 =========================== - FS errors are now handled by reporting the error and setting the file system read-only rather than generating a kernel panic. - renaming to a directory now extends the directory if it is full. - execute bits of regular files are now automatically set unless the file system is mounted noexec. - mode changes are automatically normalized, attempts to change uid/gid are denied. - added support for logical sectors > 512 bytes. (Based on a patch from Drew Eckhardt.) - the last free cluster pointer is now maintained on a per-FS basis. This should give better performance when using multiple MS-DOS filesystems in parallel. - directory lookups are now performed per cluster rather than per directory entry. This should be much faster. - FAT entries of open moved files are now cached and the cache entries are invalidated on the last close. So we'll get decent performance even in this case. - 0xF6-filled directory entries are now recognized as being empty. - spaces are now disallowed in file names if "strict" checking is enabled. - on-disk data structures are now accessed through macros to allow for easy addition of byte order conversion. - added new binary extensions TAZ, TZP and TPZ - added more comments, miscellaneous cleanup. - smount now supports -o remount. - added a file system performance tester. - updated and extended the regression test. - removed compiler warnings from fromdos.c INTERIM CHANGES SINCE VERSION 8 =============================== - fixed FS corruption after renaming of directories. - fixed accidential disabling of the FAT cache in alpha.8. CHANGES FROM VERSION 7 TO 8 =========================== - fixed a subtle FAT cache corruption problem when renaming files accross directories. - added link count computation. - disallowed deletion of .. - improved statfs performance. - uses struct msdos_inode_info now. - i_blocks, i_blksize, f_bsize and f_blocks, etc. are now counted in clusters. - removed compiler warnings in fat.c - moved the changes sections into a separate CHANGES file. - regression test: a few additions. CHANGES FROM VERSION 6 TO 7 =========================== - changed name checking rules: "normal" now also accepts upper case characters and "normal" and "strict" are now pickier about special characters (*, =, etc.). - fixed a bug that caused allocation of all available clusters when filling "holes" in files. - cluster are now properly deallocated when running out of disk space while filling a "hole". - file modification dates are now in local time. - regression test: update and minor bug fixes. CHANGES FROM VERSION 5 TO 6 =========================== - corrected spelling of "relaxed". - msdos_rmdir did not deallocate clusters of removed directory files. - ATTR_HIDDEN is no longer interpreted by the FS. - fixed a bug in MS-DOS to UNIX date conversion that changed all months to January or April. - fixed a kernel panic when trying to mkdir on a full FS. - added new binary extensions "PCX" and "TZ". - added two entries to the "Known problems" section. - minor cosmetic changes. CHANGES FROM VERSION 4 TO 5 =========================== - fixed mount option parsing and error handling. - changed mount option "conv" to "check". - added adaptive text conversion. (conv=auto) - added FAT caching. This speeds floppy accesses by a factor of 2 to 5 on large files. Hard disk accesses gain probably even more. - more cosmetic changes. CHANGES FROM VERSION 3 TO 4 =========================== - fixed '..' lookup for sub-directories with more than 16 entries. - fixed inode access after iput in msdos_lookup. - truncate now verifies that it is working on a regular file. - added checks to reject file names that contain backslashes and names that begin with a dot. - allowed msdos_readdir to return leading and embedded spaces. - changed error code EEXIST back to ENOTEMPTY in rename, because both conform to POSIX. - added user-selectable name conversion. - added more sanity checks. - test.pl now needs the conversion mode as its second argument. - test.pl now invokes pwd to get the current directory. - added more tests to test.pl - more cosmetic changes. CHANGES FROM VERSION 2 TO 3 =========================== - fixed format detection (16+ MB partitions and one overly paranoid sanity check.) - improved write performance by using getblk instead of sread where possible. - made I/O errors during file expansion non-fatal. - removed obsolete entries from the Makefile. - improved the cluster allocation strategy. - removed extra free_super from msdos_read_super. - corrected some error codes. - some cosmetic changes. CHANGES FROM VERSION 1 TO 2 =========================== - some minor changes for 0.96c compatibility. - removed standard tools (ls, mount and df) from the distribution because the new rootimage has them now. - updated the documentation to reflect the changes. CHANGES FROM VERSION 0 TO 1 =========================== - bug fix: '../..' could have had an invalid inode number if '..' has been removed from the inode cache after '.' was accessed. - rename can now move accross directories and implicitly delete its target. - mount checks for divisions by zero. (Can happen if mounting bad file systems.) - unlink now correctly reserves directory slots of files that are still in use. - a warning message is printed if a program attempts to read a directory file. - a regression test script is provided. - the archive attribute is now set whenever a regular file is modified. - many little documentation changes. Please (re-)read everything. - other minor changes.