Re: 4.9 kernel ext4 extent magic found in file data block

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hi Ted:

thanks for the suggest. finally added O_SYNC to open solved the issue.
we are checking the storage setting.

Br
kassey


On Fri, Aug 3, 2018 at 11:09 PM, Theodore Y. Ts'o <tytso@xxxxxxx> wrote:
> On Fri, Aug 03, 2018 at 06:15:48PM +0800, Kassey wrote:
>> hi linux-ext4 team:
>>
>>     we got a easy reproduced issue that during OTA, the storage is  Samsung UFS.
>>     we will extract the updated file to DDR firstly(buffer_from_ddr)...
>>
>>     but we found some of the files is corrupted sometimes.
>>     we compared the success and failure found that below pattern f30a
>> EXT4_EXT_MAGIC
>>     were in the failure file data block.
>>
>>     which should be expected to in inode table extent info.
>>
>
> The way OTA (Over the air) update works is that it "patches" the file
> system.  Specifically, userspace (a program in the recovery partition)
> is directly updating the file system at the block level.
>
> The OTA data file is calculated by looking at the starting file system
> image, and the destination file system image, comparing the two, and
> then creating a "delta" file which is what is actually sent over the
> air.
>
> What you are seeing could be caused by:
>
> *) A bug in the program which generates the OTA file
>
> *) A bug in the program which uses the OTA file to update file systems
>
> *) The OTA file getting corrupted
>
> *) The starting file system image is different from what is expected;
>    that is, it is different from the starting file system image used
>    when generating the OTA file.
>
>>    do you have some debug suggest to check how a extent looks like
>> info write to a ext4 file data block ?
>
> A file data block can look like *anything*, including the header of
> extent data block.  For example, if you create a file system image,
> e.g:
>
>         mke2fs -t ext4 test.img 8M
>
> The file system that contains test.img will, by *definition* contain
> blocks that look like extent data blocks; in fact, they *are* extent
> data blocks, but not for the file system where test.img is stored, but
> in the test.img file system itself.
>
> Furthermore, the program which applies the OTA update has no idea
> whether a particular block it is updating is file data block.  It
> simply doesn't have that context.  The OTA update system is also not
> something which is maintained by the upstream ext4 developers (which
> is who you have contacted when you e-mailed linux-ext4@xxxxxxxxxxxxxxx).
>
> So I'm afraid we can't help you behind giving you a general
> explanation of how OTA works (and this is only something I know
> because I've worked with the Android team).  I would check to see
> whether you are properly configuring and creating OTA updates, as well
> as checking whether Samsung made many local changes to the OTA update
> system.
>
> Best regards,
>
>                                         - Ted



-- 
Best regards
Kassey



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux