Charlie
Tue Feb 05 02:22:11 PST 2008
On Feb 4, 5:32 pm, "<ctacke/>" <ctacke[at]opennetcf[dot]com> wrote:
> > "TFAT works if the underlying block device supports atomic write
> > operation (the data is fully updated or it is not changed).
> > If your flash block driver can lose data during a power down (ex: it
> > stores in RAM the contents of a block while it's erasing it) TFAT
> > cannot grant the integrity of your filesystem. "
>
> Why does this bother you? How would TFAT be able to protect these
> situations where it thinks that the data has been written? It's been passed
> down the the block driver and the block driver says it has, but it's
> actually caching the write in RAM. TFAT has no way to know that happened
> and understandabley considers the write to be committable.
>
A fair statement and one I would agree with.... in my initial reading
of features to add
to our OEM generated image, I "missed" two caveats - the first is the
above, the second
below. My only observation is that the functionality is so dependent
on the block driver
operation that it should be declared much more boldly.
> > There is another quote that TFAT was primarily directed at non-
> > removable storage which doesn't make a whole lot of sense in my book.
> > WinCE has a file system that cannot be accessed (safely) by Windows.
> > Huh? <note: anyone want to send me the APIs I'll write the utility>
>
> TFAT is not FAT - it's a separate file system. There is no TFAT driver for
> the desktop that I'm aware of. The source for it ships with PB, so if you
> really want an XP driver for it, it could be done, but it's no small task.
>
> --
>
> Chris Tacke, eMVP
I understand the difference between file systems. However, no where
have I been able to find
the implied limitation - that tfat was intended for non-removable
media - in the documentation.
It is such a useful feature to have in your system, and it just begs
to be enabled. Yet this issue
is consistently asked in this group. To make matters worse, it
usually works - setting up someone who
has not read all of the documentation. And I mean all.
There are some subtle issues here of responsibility between Microsoft,
the OEM and the customer of the OEM system. I recognize that being
the end customer - it's all mine :). But I wish that in the technical
documentation, MS had pointed out the limitations a bit more clearly.
See my next post.
Perhaps this is just the nature of the environment. Some projects
> Join the Embedded Developer Community
http://community.opennetcf.com