Metropoli BBS
VIEWER: readme.src MODE: TEXT (CP437)
[$Header: D:/ext2-os2/doc/RCS/README.SRC,v 1.2 1995/09/07 23:56:22 Willm Exp Willm $]
╔═══════════════════════════════════════════════════════════════════════╗
║  Linux ext2 file system driver for OS/2 2.x and WARP - Allows OS/2 to ║
║  access your Linux ext2fs partitions as normal drive letters.         ║
║  OS/2 implementation : Copyright (C) 1995  Matthieu WILLM             ║
║                                                                       ║
║  This program is free software; you can redistribute it and/or modify ║
║  it under the terms of the GNU General Public License as published by ║
║  the Free Software Foundation; either version 2 of the License, or    ║
║  (at your option) any later version.                                  ║
║                                                                       ║
║  This program is distributed in the hope that it will be useful,      ║
║  but WITHOUT ANY WARRANTY; without even the implied warranty of       ║
║  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        ║
║  GNU General Public License for more details.                         ║
║                                                                       ║
║  You should have received a copy of the GNU General Public License    ║
║  along with this program; if not, write to the Free Software          ║
║  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.            ║
╚═══════════════════════════════════════════════════════════════════════╝

                   BETA VERSION 0.4 - SOURCES



Please notice that this driver is NOT FINISHED, it means that the sources can change a 
lot in the future releases. There are still some hacks, shortcuts and so on to be 
cleaned up in the code - contributions are welcome to help ext2-os2 being a stable 
and full featured ext2fs IFS....


The sources are organized as follows
/ext2-os2      : files containing the main makefile and all IFS FS_xxx entry points
                 It contains also the sources of the utilities (ext2-os2.exe,
                 ext2_lw.exe and sync.exe for the moment)
/ext2-os2/ext2 : Port of Linux 1.2.1 ext2fs (files in /linux/usr/src/linux1.2.1/fs/ext2
                 In an ideal world these could be shared with their Linux counterpart
                 and porting another Linux file system to OS/2 would be as easy as replacing
                 these files with those of the other Linux FS
/ext2-os2/vfs  : Port and/or rewrite of Linux kernel services like getblk(),
                 bread() brelse() iget() .... and some VFS entry points.
                 In an ideal world we would have here all Linux kernel services
                 needed to write a file system, as well as all Linux VFS entry
                 points ... (sys_readdir, sys_mkdir ....).
/ext2-os2/include/os2   : some OS/2 specific definitions
/ext2-os2/include/linux : port and/or hacks of all needed Linux include files
/ext2-os2/doc     : all the documentation sources
/ext2-os2/distrib : place where is packaged ext2-os2

Tools needed to build ext2-os2 :
-------------------------------
- A 16 bits C compiler - I used Microsoft Visual C++ 1.51 in a DOS box, for the
  IFS itself
- A 32 bits C compiler - I used IBM Visualage C++ (Cset++ 3.0) for the utilities
- A 80x86 assembler    - I used masm 5.5 (shipped in the devcon DDK)
- The "IBM Developer Connection device driver kit 2.0" (aka devcon DDK)
- The OS/2 WARP developer's toolkit
- The 'IFS toolkit' that includes : a 200+ page IBM document on the IFS interface
  plus 2 header files (fsd.h and fsh.h) and a implib file (fshelper.lib)
  They can be found in a package named ifsinf.zip on Hobbes. I don't know the
  exact status of this package, but I assume that if it's on Hobbes it is
  publically available.



Please consult the online help file ext2-os2.inf for more information on
ext2-os2, and the changes from previous versions.

You'll notice that I started this work from a Unix like IFS I began to write some
times ago, and that there are still some pieces of it in ext2-os2, hence some apparent
inconsistencies in file naming, routine naming etc...


What can be done ?
 - having a better disk cache algorithm...for instance by doing a port of the
   Linux cache routines instead of the quick and somewhat dirty rewrite I've done
 - replace the synchronous I/O (FSH_DOVOLIO in ll_rw_block()) by asynchronous
   I/O (FSH_CALLDRIVER to call the device's extended strategy entry point)
   This would result in a TREMENDOUS performance improvement
 - Make ext2-os2 a bootable IFS .... not a trivial work
 - Make ext2-os2 support the swapper
 - Porting the ext2fs utilities (mke2fs, e2fsck, debugfs ....) to OS/2
 - much cleanup and stability improvements
 - EAS support
 - ......

Discussions could be done in comp.os.os2.programmer.porting and/or in
comp.os.linux.development.system.

Feel free to contact me for any question on ext2-os2 !


Matthieu WILLM
willm@ibm.net           (home)
mwillm@vnet.ibm.com     (work)

[ RETURN TO DIRECTORY ]