> When directory iterate and lookup is called, there's a buggy rewinding of > start point for traversing cluster chain to the parent directory entry's > first cluster. This caused repeated cluster chain traversing from the > first entry of the parent directory that would show worse performance if > huge amounts of files exist under the parent directory. > Fix not to rewind, make continue from currently referenced cluster and dir > entry. > > Tested with 50,000 files under single directory / 256GB sdcard, with > command "time ls -l > /dev/null", > Before : 0m08.69s real 0m00.27s user 0m05.91s system > After : 0m07.01s real 0m00.25s user 0m04.34s system > > Signed-off-by: Hyeongseok Kim <hyeongseok@xxxxxxxxx> Looks good. Thanks for your contribution. Reviewed-by: Sungjong Seo <sj1557.seo@xxxxxxxxxxx> > --- > fs/exfat/dir.c | 19 +++++++++++++------ > fs/exfat/exfat_fs.h | 2 +- > fs/exfat/namei.c | 9 ++++++++- > 3 files changed, 22 insertions(+), 8 deletions(-)