From: almesber@nessie.cs.id.ethz.ch (Werner Almesberger)
Subject: ANNOUNCE: MS-DOS FS 0.9 (ALPHA) released
Followup-To: comp.os.linux
Originator: mdw@db.TC.Cornell.EDU
Keywords: MS-DOS FS, FS, ALPHA, Version 0.9
Organization: Swiss Federal Institute of Technology (ETH), Zurich, CH
Date: Sun, 24 Jan 1993 22:31:02 GMT

A new test version 0.9 of the MS-DOS FS is on tsx-11.mit.edu and on
sunsite.unc.edu:/pub/Linux/Incoming named dosfs.9.tar.Z  It can be
used with the 0.99pl4 kernel and possibly also with later versions.

Because there are many changes, this will be a test release that
isn't part of the official kernel for a while. The usual warnings
about ALPHA test software and especially file systems apply.

Among the new features are a better error reporting mechanism (much
less panics) and faster directory operations. There is also a file
system performance tester.

The relevant sections of the CHANGES file are attached to this
posting. They are followed by a performance comparison of this and
the previous version of the MS-DOS FS and the Minix FS.

- Werner

=================================== CHANGES ===================================

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.

=========================== Performance comparison ============================

(Summary)

Environment: 386DX/25, no cache, 8MB RAM, 0.99pl1 kernel, no update
	     running, no other system activity, IDE disk.

All times are in milliseconds.

			      dosfs 0.8   dosfs 0.9     Minix FS

Allocate new blocks		1852	    1835	  1637
Read pre-allocated		 347         354	   300
Read pre-allocated (reverse)   10842       10644	   452
Writing pre-allocated		1738	    1549          1326

File creation			  25.9	       5.2	     2.6
Directory lookups		   5.4	       1.5	     1.5
Directory lookups (reverse)	   5.4	       1.5	     1.5
Directory reads			   0.3	       0.3	     0.2
File deletion			   4.7	       1.3	     1.2

-------------------------------- Common header --------------------------------

File system performance test.
 
  Iterations per test  10
  File size            4 MB
  Directory entries    100

-------------------------------- MS-DOS FS 0.8 --------------------------------

Allocating new blocks ... 1852500 [1202500,2360000] usec/MB
Reading pre-allocated blocks ... 347500 [347500,347500] usec/MB
Reading pre-all. blocks in rev. order ... 10842250 [10840000,10845000] usec/MB
Writing pre-allocated blocks ... 1738000 [1630000,1847500] usec/MB
File creation ... 25850 [25800,25900] usec/file
Directory lookups ... 5410 [5200,5600] usec/file
Directory lookups in reverse order ... 5380 [5300,5500] usec/file
Directory reads ... 270 [200,300] usec/file
File deletion ... 4690 [4600,4800] usec/file

-------------------------------- MS-DOS FS 0.9 --------------------------------

Allocating new blocks ... 1835500 [1187500,2295000] usec/MB
Reading pre-allocated blocks ... 354250 [350000,392500] usec/MB
Reading pre-all. blocks in rev. order ... 10644250 [10642500,10645000] usec/MB
Writing pre-allocated blocks ... 1548500 [1545000,1557500] usec/MB
File creation ... 5240 [5100,5400] usec/file
Directory lookups ... 1510 [1300,1600] usec/file
Directory lookups in reverse order ... 1500 [1400,1600] usec/file
Directory reads ... 270 [200,300] usec/file
File deletion ... 1300 [1200,1400] usec/file

---------------------------------- Minix FS -----------------------------------
 
Allocating new blocks ... 1637500 [1637500,1637500] usec/MB
Reading pre-allocated blocks ... 300000 [300000,300000] usec/MB
Reading pre-all. blocks in rev. order ... 452500 [452500,452500] usec/MB
Writing pre-allocated blocks ... 1326000 [1322500,1335000] usec/MB
File creation ... 2630 [2300,3300] usec/file
Directory lookups ... 1450 [1200,1700] usec/file
Directory lookups in reverse order ... 1450 [1400,1500] usec/file
Directory reads ... 200 [200,200] usec/file
File deletion ... 1180 [1000,1400] usec/file

-- 
   _________________________________________________________________________
  / Werner Almesberger, ETH Zuerich, CH      almesber@nessie.cs.id.ethz.ch /
 /_IFW_A44__Tel._+41_1_254_7213___________________________________________/

-- 
Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu
Newsgroups: comp.os.linux.announce