James C. McPherson wrote:
> 
> IMNSHO no matter what technologies Microsoft has coming in
> their new winfs, they still won't be able to include any of
> ZFS in it because the paradigm-shift will be too great for
> their codebase to handle.
> 

IIRC, Windows "FASTFAT" file system is over 80,000 lines of code.  Linux's
implmentation of FAT is about 5,000 lines.

This arises from design differences between the file system layers.  In the
Microsoft kernel, the file systems call library routines, such as the FsRtl
family (File system Run time library.)  Witness the code bloat.

Instead, Linux uses what I call an inverted library model.  Others might call
this a "framework."  The Linux file system layer itself provides default
functionality and allows individual file systems to override that functionality.
 As it turns out, even with two dozen of file systems, different file systems
share a lot of common functionality.  In terms of size of code, having that
common functionality reside in the file system layer, rather than making the
file systems call library routines, results in much less code.

The Solaris file system layer somewhat benefits from the advantages of the Linux
design, but also suffers from some of the disadvantages of the Windows design.
These fundamental differences in philosophy merit consideration as people write
more file systems for Open Solaris.

Now a really cool project would be to write a VFS driver for Open Solaris that
provides Linux-style VFS functionality.  Given such an enabling technology, one
 might be able to compile all the Linux file systems for the Open Solaris
kernel.  A long time ago, I considered writing such a thing for the Windows
kernel, but decided it was too much of a pain, because it was like trying to fit
a square peg into a round hole.  This should be easier for Solaris, however.

Another similar project would be to write a VFS driver for Open Solaris to
enable the compiling of the BSD file systems for the Open Solaris kernel.  This
would probably be even easier than trying to incorporate the Linux file systems.

I have worked on file system technologies for various commercial products in the
past, including commercial anti-virus products, encryption products, replication
products, and others.  If anybody needs or wants to sponsor me in either a BSD
or Linux file system layer for Solaris project, let me know!

Regards,

Rob
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to