> 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 <[email protected]>
Looks good. Thanks for your contribution. Reviewed-by: Sungjong Seo <[email protected]> > --- > fs/exfat/dir.c | 19 +++++++++++++------ > fs/exfat/exfat_fs.h | 2 +- > fs/exfat/namei.c | 9 ++++++++- > 3 files changed, 22 insertions(+), 8 deletions(-)

