Importing FullFat (even if it requires changes, like
converting to kmode) is
still WAY faster than developing a new one, based on MS sample code. As we
know, FullFat already works, so the testing procedure would be significantly
shorter, compared with the one being written from scratch.
FullFAT has already been used by some major embedded projects, Renesas
have included it
with their own development environment for all their customers.
Similarly a major development framework for Analog Devices Blackfin
processors have also adopted
FullFAT as a standard part of their library.
FullFAT is well tested already, and I intend to write the driver in a
way that fixes to problems can easily
be synchronised between the Windows FullFAT driver and the standard
general purpose driver.
Finally, FullFat
author agreed on colaborating, effectively helping out with the adaptation
process. For the new fat driver, we`d still require at least developer,
either someone from ReactOS team or outsider.
Again, i dont see developers hanging around, waiting to do anything for
ReactOS.
In the last year I have gained a substantial interest for Windows
internals, particularly
kernel mode stuff, and see working with ReactOS as a great opportunity
to work with
some really smart people, and further my own knowledge and ideas.
So its a choice of ready, funcitoning code and tested,
that needs to be
adopted, as well as a new developer, eager to help us out. On the other
side, there is only a reference MS code, that potentially (even if we`ll be
able to actually write a new FAT driver and test it) someone could use as an
excuse to question the new driver and spread FUD about its similarity to MS
code.
FullFAT will also implement a build-option that removes the FAT patent issues.
This is based on the linux patch, for details see:
http://lkml.org/lkml/2009/6/26/313
I think that FullFAT works quite well already, and is 100% my own code
from scratch.
When ReactOS use this code, then there can be no uncertainty about its
legitimacy.
Also addressing the questions regarding a journaling system, we can
simply have the driver
create a ROS.journal file in the root dir. This file won't mean
anything to other systems,
and will simply be ignored. Causing no compatibility issues. If
another system messes up the
FAT table or directory structures thats not the fault of ReactOS, and
would require a full chkdsk.
I think the journal stuff would be something we can add once I have
FullFAT fully integrated and its working.
Thanks for the input,
James
--
James Walmsley
----------------------------------------
james(a)worm.me.uk