hpfs: remember free space
Previously, hpfs scanned all bitmaps each time the user asked for free space using statfs. This patch changes it so that hpfs scans the bitmaps only once, remembes the free space and on next invocation of statfs it returns the value instantly. New versions of wine are hammering on the statfs syscall very heavily, making some games unplayable when they're stored on hpfs, with load times in minutes. This should be backported to the stable kernels because it fixes user-visible problem (excessive level load times in wine). Signed-off-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> Cc: stable@vger.kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
602456bf16
commit
2cbe5c76fc
@@ -312,7 +312,7 @@ static inline struct hpfs_sb_info *hpfs_sb(struct super_block *sb)
|
||||
__printf(2, 3)
|
||||
void hpfs_error(struct super_block *, const char *, ...);
|
||||
int hpfs_stop_cycles(struct super_block *, int, int *, int *, char *);
|
||||
unsigned hpfs_count_one_bitmap(struct super_block *, secno);
|
||||
unsigned hpfs_get_free_dnodes(struct super_block *);
|
||||
|
||||
/*
|
||||
* local time (HPFS) to GMT (Unix)
|
||||
|
Reference in New Issue
Block a user