Re: [Yaffs] Unwanted rollback of yaffs file system

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: Jens Rudberg
Date:  
To: Charles Manning
CC: yaffs
Subject: Re: [Yaffs] Unwanted rollback of yaffs file system
Hi Charles.
We're changing to mount with skip_checkpt_read=false as you suggest and remove the calls to sync() and see if this makes the filesystem 100% reliable.
Let me know if you see anything in the logs or if there are tests we should run on the system.

Best,
Jens

> On 10 Nov 2017, at 05:52, Charles Manning <> wrote:
>
> Hello Jens
>
> On Thu, Nov 9, 2017 at 1:51 AM, Jens Rudberg < <mailto:jens@teenage.engineering>> wrote:
> Hi,
> During development of a new embedded platform I have run into an unwanted behaviour by yaffs.
> We use yaffs in direct mode on an micron SLC nand with 2k pages and built-in ECC functionality.
> It seems like yaffs sometimes roll back the file system when it is mounted, even if there should be no checkpoint available.
> We see this by noticing that sometimes after a sudden reboot / crash files are rollbacked to previous versions.
>
> I was under the impression that the checkpoint is invalidated immediately when a partition is mounted, but this may not be the case?
>
> No it should be invalidated as soon as there is any modification to the filesystem (modify file/directory, delete file/directory or any garbage collection). If you don't do any modifications the checkpoint will stay "forever".
>
>
> Our current method to avoid this is to call yaffs_sync() after every file operation, which doesn’t seems like the right way to do it.
> yaffs_sync() both does a full sync including checkpoint.
> replacing the calls to yaffs_sync() with yaffs_sync_files()
>
> What happens if you don't use any checkpoint. eg. mount with skip_checkpt_read set to 1.
>
> I will have a look at the log and see if anything stands out.
>
> Regards
>
> Charles
>