Hi Yunlei,

> -----Original Message-----
> From: He YunLei [mailto:[email protected]]
> Sent: Friday, July 31, 2015 10:29 AM
> To: [email protected]; Jaegeuk Kim
> Cc: Chao Yu; [email protected]; Bintian
> Subject: [f2fs-dev] Data lost in Android app for not write new checkpoint
> 
> Hi all,
>       Recently I did some test with f2fs on my Android phone, and found a 
> problem
> which I didn't know how to tackle it.
>       I use my Android phone with /data partition formatted  by mkfs.f2fs. 
> When the
> phone just started, I check the f2fs status by reading the file 
> /sys/kernel/debug/f2fs/status
> in debugfs.
> 
> CP calls: 10
> GC calls: 19 (BG: 19)
>    - data segments : 19 (19)
>    - node segments : 0 (0)
> 
>       We can see /data partition has done 10 times write_checkpoint since 
> f2fs is mounted
> on the phone, it also has triggered 19 times background GC.
> 
> ******
> 
> Here I took some photos consecutively, and check the file 
> /sys/kernel/debug/f2fs/status again
> 
> ******
> 
> CP calls: 10
> GC calls: 20 (BG: 20)
>    - data segments : 20 (20)
>    - node segments : 0 (0)
> 
>       there is no change in CP calls number and background GC doesn't write 
> new checkpoint.
> if then a sudden power failure or system crash occur, the photos will be lost 
> when the phone
> restart, and a sync before crash will avoid the data lost.

One way to keep data consistent is invoking fsync() after writing, after that, 
data will be 
recoverable even though there occurs abnormal pow-cut or kernel crash.

So can you help to check whether the camera app *fsync* the photo file to 
storage for persistence?
If there is no such invoking, our photos may be lost, otherwise there may be a 
bug in f2fs.

BTW, checkpoint can only keep persistence with FS metadata (data in META/NODE 
inode), metadata/data
of directory inode and metadata of other inode, but not the data of 
regular/symlink inode which is
in memory. So seems simply calling a checkpoint doesn't help.

Thanks,

>       I think this problem is bad for user experience of using Android phone 
> with f2fs.
> How do we deal with such situation? I wish you and other developers in this 
> list could help
> me in a correct way.
> 
> Thanks,
> He



------------------------------------------------------------------------------
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to