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

From: OGAWA Hirofumi
Date: Thu Feb 07 2013 - 06:45:27 EST


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.

Don't we need to change fat_get_short_entry()? And did this work
correctly about f_pos for readdir?

I'm not thinking about f_pos deeply though, it may have something
wrong. Because it stops at middle of cluster.

Thanks.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/