intrep.c update to handle gaps in the middle of the log.
Simon Munton
Simon.Munton at m4data.co.uk
Thu Jul 27 09:57:27 EDT 2000
> -----Original Message-----
> From: Sébastien Côté [mailto:scote1 at Matrox.COM]
> Sent: 27 July 2000 02:27 pm
>
>
> Our original problem was a "hole" between two valid nodes (we
> forgot to
> check if the data that followed was valid in the patch) but you're
> right, it could happen to the first sector. Maybe we should
> only check
> if a free space ends in the middle of a sector. In that
> case, treat the
> beginning of that sector as dirty. Would that do the trick?
Yes, I think it would.
>
> If we have :
>
> > 0x000000 - 0x2b0000: valid nodes
> > 0x2b0000 - 0x2b7000: all 0xff The error occured here
> > 0x2b7000 - 0x2c0000: all zero We set this
> space as dirty
> > 0x2c0000 - 0x2c8cff: valid nodes
> > 0x2c8d00 - 0x75ffff: all 0xff
> > 0x760000 - 0x76049f: all zero
> > 0x7604a0 - 0x7dffff: valid nodes
>
> (Suppose all dirty space and valid nodes starts on the beginning of a
> sector, I didn't want to do the math)
>
> Would the filesystem be mounted correctly or do we _have_ to set the
> first free space (where the error occured) as dirty too ?
In this case, how does JFFS decide where the end of the log is? Is it at the
start of the first free space, or the second? My gut reaction would be to
set all but the largest of the free spaces to be dirty.
Simon
To unsubscribe, send "unsubscribe mtd" to majordomo at infradead.org
More information about the linux-mtd
mailing list