Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - ETFS anything new ?: (7 Items)
   
ETFS anything new ?  
I have been looking since the project code release, but can find no information about the status of the ETFS code 
released.

Is this identical to the previously released TDK or does it also contain new versions, bug fixes, enhancements, etc. If 
so what ?

We have had specific issues with the ETFS system over the last years and would like to know what has been addressed.

Thanks.
Re: ETFS anything new ?  
Hi Chris,
Do you mind sharing your ETFS related issues? I have been using ETFS in an experimental environment with an aim to 
evaluate filesystem’s robustness and performance. So far I am fairly impressed with the ETFS’s ability to maintain 
filesystem’s integrity during an unexpected power loss. I have observed an interesting behavior with truncated files 
though.
I would be very interested to know what kind of problems you have been experiencing with the ETFS.
Best Wishes,
Vialy
Post Deleted
Re: ETFS anything new ?  
We have also seen the truncation of files as well as IO errors.
Are testing is so far showing the interface to the NAND chips is stable.
Here are my comments so far:

a) The examples for the chip/device IO layer do not use ECC protection of the data in the spare area, as such all the 
filing system information can be corrupted (this we have fixed ourselves)

b) Many ETFS options are not implemented (for example the read after write, look in the code a variable get set, but is 
never used)

c) The wake up read does not seem to properly handle factory marked bad blocks, they are detected but (from initial 
look) do not seem to be remembered anywhere.

d) Prior to code release we tested and found that the format was not checking for factory bad blocks and was just 
erasing this important information, the released code seems to have this check in place which is why I started this 
thread (still no answer from QNX I see)

e) The system uses a delayed erase (using the second thread), this brings issues into my head about what happens if a 
block is re-located and power is removed prior to the old block being erased, how does the wake up read hand two blocks 
both with the same file data. I would have expected to see some find of sequencing/aging number in the file information 
so the system can detect which is the older and which is the newer in this case (perhaps it does, I have not finished 
evaluating the code).

f) Internally we use many "good" coding practices (including MISRA-C/C++ and style guides) so far looking through the 
code, nothing was used when this was written (it looks like "hacker" code), the is not even any consistency in 
formatting, we ran it though "uncrustify" first to make it readable before starting the evaluation.

g) Previously we had an issue about starting multiple instances on a single system (e.g. we have two devices in our 
hardware each as a different drive), the old version could not handle this and gave both devices the same device name, 
we had a "temporary fixed version" from QNX which seemed to work, although we had some issues later (source not known 
yet), I have not yet looked at this aspect of the released code.

A simple answer from the "Project Team" as to the status of this version in relationship to the previous released TDK 
(no source code) version would be VERY welcome; is it different Yes/No ?
Re: ETFS anything new ?  
Chris-

Would you share the details of how you extended the ecc to cover the spare area of a nand 2048?
Re: ETFS anything new ?  
I'd be interested in this as well...
Re: ETFS anything new ?  
Marc-

Check out my hack on topic 6546.  We had some boards failing to boot because of spare area read errors in the raw 
partition.  Implementing this logic in our IPL resurrected a bunch of boards.  I also use this hack in my formatted 
partition as well.  The performance hit is not so bad because you check the transaction crc first and skip the hack if 
all is OK.

QNX PR# 65567 will address this issue in the future (6.4.1).  I used our priority support to help get this investigated.


http://community.qnx.com/sf/discussion/do/listPosts/projects.filesystems/discussion.general.topc6546