LogFS take five

Jörn Engel joern at logfs.org
Wed Aug 8 12:35:45 EDT 2007


On Wed, 8 August 2007 19:27:17 +0300, Artem Bityutskiy wrote:
> On Wed, 2007-08-08 at 18:12 +0200, Jörn Engel wrote:
> > It has been a while, mainly because I found a bunch of races and didn't
> > want to publish anything before those were fixed.  Patch is still
> > against 2.6.21 and just for review.
> 
> I'm very interested how do you account free/dirty space in LogFS:

Independently of the position where data goes.  There is a known amount
of space.  Each write decreases that, each delete increases that.
-ENOSPC when it gets too low.

> * When you need to write new data, how do you select the place where to
> write?

Next position in the appropriate segment (you remember the level
concept, I'm sure).

> * When you run out of space, how do select find the segment to
> garbage-collect?

Most amount of free space usually.  If space gets really tight, lower
levels are ignored.

> For any given segment (or eraseblock), how do you find amount of free
> and dirty space in it?

Scanning.  I don't have seperate accounting yet.

Jörn

-- 
When in doubt, use brute force.
-- Ken Thompson



More information about the linux-mtd mailing list