fat: optimize fat_count_free_clusters()
commit9f966be8996f2829406324c68e4c67c2d64d864b
authorOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Tue, 8 Jan 2008 23:32:41 +0000 (8 15:32 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 9 Jan 2008 00:10:35 +0000 (8 16:10 -0800)
tree40b2e1f12834498f1e7d8240fe7f6f3dbaf0dce2
parentd52df2e2ea2d881b1439bbdec7f67c27e0f47941
fat: optimize fat_count_free_clusters()

On large partition, scanning the free clusters is very slow if users
doesn't use "usefree" option.

For optimizing it, this patch uses sb_breadahead() to read of FAT
sectors. On some user's 15GB partition, this patch improved it very
much (1min => 600ms).

The following is the result of 2GB partition on my machine.

without patch:
root@devron (/)# time df -h > /dev/null

real    0m1.202s
user    0m0.000s
sys     0m0.440s

with patch:
root@devron (/)# time df -h > /dev/null

real    0m0.378s
user    0m0.012s
sys     0m0.168s

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/fat/fatent.c