Re: [PATCH] fs: fat: add check for dir size in fat_calc_dir_size

From: OGAWA Hirofumi
Date: Mon Jul 06 2020 - 10:23:02 EST


Anupam Aggarwal <anupam.al@xxxxxxxxxxx> writes:

>>Anyway, fsck would be main way. And on other hand, if we want to add
>>mitigation for corruption, we would have to see much more details of
>>this corruption. Can you put somewhere to access the corrupted image
>>(need the only metadata) to reproduce?
>
> Sorry, uploading of any file not allowed from within.
> So, metadata image is not possible to be shared via. upload.
> Can try to arrange few more logs via. fsck.

Then, can you dump the invalid directory entries in corrupted image, and
check exactly why recursive traverse (ls -lR) never end?

We need to know the root cause to fix, e.g. this directory entry has
loop, etc.

>>What happens if you recursively traversed directories on Windows? This
>>issue happens on Windows too?
>
> After connecting USB to windows 10, when corrupted dir(\CorruptedDIR)
> is browsed, it shows 2623 number of files and directories, without
> delay. Name and timestamps of those file/directories are garbage
> values.

Sounds like filtered the invalid names.

> Further if we browse these sub-directories and open files of corrupted
> dir(\CorruptedDIR) following popups are coming on Windows 10:
> 1. The filename, directory name, or volume label syntax is incorrect
> 2. Specified path does not exist. Check the path and try again
>
> So issue of un-ending browsing(ls -lR) of corrupted USB is not coming
> on windows 10, it lists limited number of files/directories, of
> corrupted dir(\CorruptedDIR) without delay.

It may had the luck, loop was filtered by invalid names. Well, not sure.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>