Messages in this thread | | | From | OGAWA Hirofumi <> | Subject | Re: [PATCH v2] fat: eliminate iterations in fat_search_long and __fat_readdir in case of EOD | Date | Fri, 08 Feb 2013 16:14:41 +0900 |
| |
Namjae Jeon <linkinjeon@gmail.com> writes:
>> And did this work correctly about f_pos for readdir? > Yes, sure. f_pos is work correctly about each directory entry. because > after name[0] == 0x00, there are no allocated directory entires. >> >> I'm not thinking about f_pos deeply though, it may have something >> wrong. Because it stops at middle of cluster. > Plz See the below descirption about name[0] in FAT spec. > --------------------------------------------------------------------------------------------------------------------- > If DIR_Name[0] == 0x00, then the directory entry is free (same as for > 0xE5), and there are no allocated directory entries after this one > (all of the DIR_Name[0] bytes in all of the entries after this one are > also set to 0). > The special 0 value, rather than the 0xE5 value, indicates to FAT file > system driver code that the rest of the entries in this directory do > not need to be examined because they are all free. > ----------------------------------------------------------------------------------------------------------------------- > > I think that lookuping entry till the end of cluster is not needed. > Let me know your opinion.
I know it though. There is seek() and broken drivers adds entries after name[0] == 0. I think we don't need to care much about broken drivers though. Even if so, kernel should not be crash, and corrupts fs more.
> And Would you tell me your opinion about fat exportfs ?
Ah, I was thinking I did. But it seems I didn't actually. Can you post full of series? So, I can review and probably we can start to test it.
Thanks. -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
| |