2013/1/20, OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>: > Namjae Jeon <linkinjeon@xxxxxxxxx> writes: > >> From: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> >> >> When searching a directory for names, 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. > > f_pos still works fine after this change? Hi OGAWA. I can not find f_pos usage in fat_search_long function. Maybe, Have you seen other function such as __fat_readdir ? Let me know your opinion. Thanks. > >> Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> >> Signed-off-by: Ravishankar N <ravi.n1@xxxxxxxxxxx> >> --- >> fs/fat/dir.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/fs/fat/dir.c b/fs/fat/dir.c >> index 58bf744..cde0e69 100644 >> --- a/fs/fat/dir.c >> +++ b/fs/fat/dir.c >> @@ -484,10 +484,10 @@ parse_record: >> nr_slots = 0; >> if (de->name[0] == DELETED_FLAG) >> continue; >> + if (!de->name[0]) >> + goto end_of_dir; >> if (de->attr != ATTR_EXT && (de->attr & ATTR_VOLUME)) >> continue; >> - if (de->attr != ATTR_EXT && IS_FREE(de->name)) >> - continue; >> if (de->attr == ATTR_EXT) { >> int status = fat_parse_long(inode, &cpos, &bh, &de, >> &unicode, &nr_slots); > > -- > 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