Re: [PATCH v2] fat: eliminate iterations in fat_search_long and __fat_readdir in case of EOD

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

 



2013/2/7, OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>:
> Namjae Jeon <linkinjeon@xxxxxxxxx> writes:
>
>> From: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
>>
>> When doing lookups via fat_search_long(), we can stop checking for
>> further entries if we detect End of Directory, i.e. if (de->name[0] ==
>> 0x00).The current code traverses the cluster chain of a directory until a
>> hit
>> is found or till the last cluster for that directory, ignoring the EOD
>> mark. Fix this.
>>
>> Likewise,when readdir(3) is called, we can stop checking for further
>> entries in __fat_readdir() when we hit EOD.
>
Hi OGAWA.
> Don't we need to change fat_get_short_entry()?
Yes, We need to change here. Thanks for review!

> 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.

And Would you tell me your opinion about fat exportfs ?
Thanks!
>
> Thanks.
> --
> OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux