Re: Flash erase groups and filesystems

From: Jörn Engel
Date: Tue Aug 16 2005 - 13:52:45 EST


On Tue, 16 August 2005 20:13:36 +0200, Jörn Engel wrote:
> On Tue, 16 August 2005 19:09:12 +0200, Pierre Ossman wrote:
> >
> > I'm not sure we're talking about the same thing. I'm not suggesting new
> > features in the VFS layer. I want to know if something breaks if I
> > implement this erase feature in the MMC layer. In essence the file
> > system has marked the sectors as "forget" by issuing a write to them.
> > The question is if it is assumed that they are unchanged if the write
> > fails half-way through.
>
> Yes. Most filesystems expect to find either 1) old data or 2) new
> data. Blocks full of 0xff are non-expected.

Maybe this isn't obvious. Because of this expectation, it is
absolutely not safe to pre-erase blocks, just because the fs will
write them anyway. Unless you can guarantee that the write will
always succeed, even in case of power outage, you just broke the
expectation.

Fixing all filesystem is also not an option, even ignoring the
question whether such a change would be a fix, a change of behaviour
or a plain bug.

So the only remaining option is to add a new interface that lets
filesystems decide to support pre-erase in some form. And one such
interface would be the "forget" operation. Nice attribute of forget
is the fact that it would also help some FTL layers in the kernel.
There is nothing MMC-specific about it.

Jörn

--
But this is not to say that the main benefit of Linux and other GPL
software is lower-cost. Control is the main benefit--cost is secondary.
-- Bruce Perens
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/