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