Forum Topic - ETFS debugging... ETFS_TRANS_FOXES?: (5 Items)
   
ETFS debugging... ETFS_TRANS_FOXES?  
Hi,

can anybody tell me what a return value of ETFS_TRANS_FOXES means?
The H file says

#define ETFS_TRANS_ERASED		2		/* An erased block with an erase stamp */
#define ETFS_TRANS_FOXES		3		/* An erased block */

(doesn't really help much...)

Greetings,
 Marc
Re: ETFS debugging... ETFS_TRANS_FOXES?  
Marc Roessler wrote:
> can anybody tell me what a return value of ETFS_TRANS_FOXES means?
> #define ETFS_TRANS_ERASED		2		/* An erased block with an erase stamp */
> #define ETFS_TRANS_FOXES		3		/* An erased block */
> 
> (doesn't really help much...)

The FOXES state reflects a block that has read all FFs in the spare
area, including the (supposed-to-be non-FF) signature fields.  Thus it
represents a block that is either unformatted or was interrupted during
erase.  In both cases the remainder of the block can be skipped during
startup scan as having no further useful content, but an ERASED block
can be used immediately as an empty block (clean list) whereas the
FOXES block cannot be completely trusted (filthy list) and must be
erased/formatted first before re-use.  Look at the eraseblk callout in
devio.c to see how an erased block immediately also gets a signature
programmed into its first page spares ...
RE: ETFS debugging... ETFS_TRANS_FOXES?  
Out of curiosity, why "FOXES"? Is it because such blocks can't be
trusted (like the animal), or are they stained (like a foxed piece of
paper)?


Steve Reid (stever@qnx.com)
Technical Editor
QNX Software Systems 
 

> -----Original Message-----
> From: John Garvey [mailto:community-noreply@qnx.com] 
> Sent: Tuesday, October 13, 2009 11:14 PM
> To: general-filesystems
> Subject: Re: ETFS debugging... ETFS_TRANS_FOXES?
> 
> Marc Roessler wrote:
> > can anybody tell me what a return value of ETFS_TRANS_FOXES means?
> > #define ETFS_TRANS_ERASED		2		/* An 
> erased block with an erase stamp */
> > #define ETFS_TRANS_FOXES		3		/* An 
> erased block */
> > 
> > (doesn't really help much...)
> 
> The FOXES state reflects a block that has read all FFs in the spare
> area, including the (supposed-to-be non-FF) signature fields.  Thus it
> represents a block that is either unformatted or was 
> interrupted during
> erase.  In both cases the remainder of the block can be skipped during
> startup scan as having no further useful content, but an ERASED block
> can be used immediately as an empty block (clean list) whereas the
> FOXES block cannot be completely trusted (filthy list) and must be
> erased/formatted first before re-use.  Look at the eraseblk callout in
> devio.c to see how an erased block immediately also gets a signature
> programmed into its first page spares ...
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post39853
> 
> 
RE: ETFS debugging... ETFS_TRANS_FOXES?  
Those sound good to me. 

> -----Original Message-----
> From: Steve Reid [mailto:community-noreply@qnx.com] 
> Sent: October 15, 2009 11:58 AM
> To: general-filesystems
> Subject: RE: ETFS debugging... ETFS_TRANS_FOXES?
> 
> Out of curiosity, why "FOXES"? Is it because such blocks 
> can't be trusted (like the animal), or are they stained (like 
> a foxed piece of paper)?
> 
> 
> Steve Reid (stever@qnx.com)
> Technical Editor
> QNX Software Systems 
>  
> 
> > -----Original Message-----
> > From: John Garvey [mailto:community-noreply@qnx.com]
> > Sent: Tuesday, October 13, 2009 11:14 PM
> > To: general-filesystems
> > Subject: Re: ETFS debugging... ETFS_TRANS_FOXES?
> > 
> > Marc Roessler wrote:
> > > can anybody tell me what a return value of ETFS_TRANS_FOXES means?
> > > #define ETFS_TRANS_ERASED		2		/* An 
> > erased block with an erase stamp */
> > > #define ETFS_TRANS_FOXES		3		/* An 
> > erased block */
> > > 
> > > (doesn't really help much...)
> > 
> > The FOXES state reflects a block that has read all FFs in the spare 
> > area, including the (supposed-to-be non-FF) signature 
> fields.  Thus it 
> > represents a block that is either unformatted or was interrupted 
> > during erase.  In both cases the remainder of the block can 
> be skipped 
> > during startup scan as having no further useful content, 
> but an ERASED 
> > block can be used immediately as an empty block (clean 
> list) whereas 
> > the FOXES block cannot be completely trusted (filthy list) 
> and must be 
> > erased/formatted first before re-use.  Look at the eraseblk 
> callout in 
> > devio.c to see how an erased block immediately also gets a 
> signature 
> > programmed into its first page spares ...
> > 
> > 
> > 
> > _______________________________________________
> > 
> > General
> > http://community.qnx.com/sf/go/post39853
> > 
> > 
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post40050
> 
> 
Re: ETFS debugging... ETFS_TRANS_FOXES?  
"This is Fox Fox Fox Fox Fox Fox Fox Fox calling Charlie Fox Delta."
"Come in, Fox Fox Fox, Fox Fox ... er Fox ... oh for goodness sake, Come 
in, Foxes!"


David Sarrazin wrote:
> Those sound good to me. 
> 
>> -----Original Message-----
>> From: Steve Reid [mailto:community-noreply@qnx.com] 
>> Sent: October 15, 2009 11:58 AM
>> To: general-filesystems
>> Subject: RE: ETFS debugging... ETFS_TRANS_FOXES?
>>
>> Out of curiosity, why "FOXES"? Is it because such blocks 
>> can't be trusted (like the animal), or are they stained (like 
>> a foxed piece of paper)?
>>
>>
>> Steve Reid (stever@qnx.com)
>> Technical Editor
>> QNX Software Systems 
>>  
>>
>>> -----Original Message-----
>>> From: John Garvey [mailto:community-noreply@qnx.com]
>>> Sent: Tuesday, October 13, 2009 11:14 PM
>>> To: general-filesystems
>>> Subject: Re: ETFS debugging... ETFS_TRANS_FOXES?
>>>
>>> Marc Roessler wrote:
>>>> can anybody tell me what a return value of ETFS_TRANS_FOXES means?
>>>> #define ETFS_TRANS_ERASED		2		/* An 
>>> erased block with an erase stamp */
>>>> #define ETFS_TRANS_FOXES		3		/* An 
>>> erased block */
>>>> (doesn't really help much...)
>>> The FOXES state reflects a block that has read all FFs in the spare 
>>> area, including the (supposed-to-be non-FF) signature 
>> fields.  Thus it 
>>> represents a block that is either unformatted or was interrupted 
>>> during erase.  In both cases the remainder of the block can 
>> be skipped 
>>> during startup scan as having no further useful content, 
>> but an ERASED 
>>> block can be used immediately as an empty block (clean 
>> list) whereas 
>>> the FOXES block cannot be completely trusted (filthy list) 
>> and must be 
>>> erased/formatted first before re-use.  Look at the eraseblk 
>> callout in 
>>> devio.c to see how an erased block immediately also gets a 
>> signature 
>>> programmed into its first page spares ...
>>>
>>>
>>>
>>> _______________________________________________
>>>
>>> General
>>> http://community.qnx.com/sf/go/post39853
>>>
>>>
>>
>>
>> _______________________________________________
>>
>> General
>> http://community.qnx.com/sf/go/post40050
>>
>>
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post40051
>