[ros-dev] FullFAT replacement for Fastfat.sys
James Walmsley
james at worm.me.uk
Thu Jul 30 16:53:20 CEST 2009
> 2009/7/30 Timo Kreuzer <timo.kreuzer at web.de>:
>> What about long file names? Can't we use something like that to work around
>> the patent?
>
> Speaking of the LongFile Name patent and Journaling, there was if I
> recall, a Linux kernel hacker a while back that addressed both with an
> interesting patch. If I recall correctly, rather than storing a LFN
> and a SFN it would only store one or the other and then use the other
> record as some sort of a checksum on the file in question to achieve a
> similar effect as a journal record. Maybe its more analogous to UFS
> soft updates but I think you might get the idea. I'm not all that up
> on filesystem semantics but I think a bit of googling might turn up
> what I am talking about.
Actually thats just being developed into FullFAT already in
preparation for the 1.0.0 release. I believe I already mentioned it,
but here's a link the the linux kernel mailing list that explains how
the patch works and why its legally valid.
http://lkml.org/lkml/2009/6/26/314 -- A legal discussion about the patch.
http://lkml.org/lkml/2009/6/26/313 -- Technical details of what the patch does.
FAT stores a checksum in LFNs of the shortname, this can be used to
verify the integrity of LFN entries in a directory. Of course using
the linux patch, the short name can be used for other puposes. However
its not really journaling because you still have to scan all the
directories. This takes a long time.
Sarocet also makes a good point about the problem with a ReactOS
journaling file. The journal should store some kind of hash or
checksum value of the state of the FAT table (which is probably too
big). Or atleast the directories affected by the journal changes. If
this hash differs before journal transactions are committed to the FS
then the journal should clear that transaction and not commit it.
Really journaling should only be enabled for a ReactOS system
partition, using journaling on removable media wouldn't bring any
great benefit, because of the effect that Sarocet described.
Still I think the journaling is something we won't add until the
driver is working and stable.
James
--
James Walmsley
----------------------------------------
james at worm.me.uk
More information about the Ros-dev
mailing list