2009/7/30 Timo Kreuzer <timo.kreuzer(a)web.de>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(a)worm.me.uk