2.4.20 fix file_readahead for ide-cd and ide-floppy
PATCH 1/1 2.4.20 fix file_readahead for ide-cd and ide-floppy
The file_readahead setting in ide-cd and ide-floppy obviously assumed read-ahead values are kept as bytes. This made them totally useless. This patch unifies file_readahead with ide-disk making values be stored correctly as pages and displayed as KB.
This also changes breada setting to match ide-disk as well (is it really used at all? It appears the only place where it is referenced is reiserfs).
The patch is agains Mandrake sources but as I assume it should apply to vanilla kernel as well.
cheers
-andrey
ide/ide-cd.c renamed from usr/src/linux-2.4.20-2mdk/drivers/ide/ide-cd.c +2 -2
@@ -2717,8 +2717,8 @@int major =HWIF (drive)->major;int minor = drive->select.b.unit <<PARTN_BITS ; -ide_add_setting (drive,"breada_readahead" ,SETTING_RW ,BLKRAGET ,BLKRASET ,TYPE_INT ,0 ,255 ,1 ,2 , &read_ahead[major],NULL ); -ide_add_setting (drive,"file_readahead" ,SETTING_RW ,BLKFRAGET ,BLKFRASET ,TYPE_INTA ,0 ,INT_MAX ,1 ,1024 , &max_readahead[major][minor],NULL ); +ide_add_setting (drive,"breada_readahead" ,SETTING_RW ,BLKRAGET ,BLKRASET ,TYPE_INT ,0 ,255 ,1 ,1 , &read_ahead[major],NULL ); +ide_add_setting (drive,"file_readahead" ,SETTING_RW ,BLKFRAGET ,BLKFRASET ,TYPE_INTA ,0 ,4096 ,PAGE_SIZE ,1024 , &max_readahead[major][minor],NULL );ide_add_setting (drive,"max_kb_per_request" ,SETTING_RW ,BLKSECTGET ,BLKSECTSET ,TYPE_INTA ,1 ,255 ,1 ,2 , &max_sectors[major][minor],NULL );ide_add_setting (drive,"dsc_overlap" ,SETTING_RW ,-1 ,-1 ,TYPE_BYTE ,0 ,1 ,1 ,1 , &drive->dsc_overlap,NULL ); }
ide/ide-floppy.c renamed from usr/src/linux-2.4.20-2mdk/drivers/ide/ide-floppy.c +2 -2
@@ -2007,8 +2007,8 @@ide_add_setting (drive,"bios_cyl" ,SETTING_RW ,-1 ,-1 ,TYPE_INT ,0 ,1023 ,1 ,1 , &drive->bios_cyl,NULL );ide_add_setting (drive,"bios_head" ,SETTING_RW ,-1 ,-1 ,TYPE_BYTE ,0 ,255 ,1 ,1 , &drive->bios_head,NULL );ide_add_setting (drive,"bios_sect" ,SETTING_RW ,-1 ,-1 ,TYPE_BYTE ,0 ,63 ,1 ,1 , &drive->bios_sect,NULL ); -ide_add_setting (drive,"breada_readahead" ,SETTING_RW ,BLKRAGET ,BLKRASET ,TYPE_INT ,0 ,255 ,1 ,2 , &read_ahead[major],NULL ); -ide_add_setting (drive,"file_readahead" ,SETTING_RW ,BLKFRAGET ,BLKFRASET ,TYPE_INTA ,0 ,INT_MAX ,1 ,1024 , &max_readahead[major][minor],NULL ); +ide_add_setting (drive,"breada_readahead" ,SETTING_RW ,BLKRAGET ,BLKRASET ,TYPE_INT ,0 ,255 ,1 ,1 , &read_ahead[major],NULL ); +ide_add_setting (drive,"file_readahead" ,SETTING_RW ,BLKFRAGET ,BLKFRASET ,TYPE_INTA ,0 ,4096 ,PAGE_SIZE ,1024 , &max_readahead[major][minor],NULL );ide_add_setting (drive,"max_kb_per_request" ,SETTING_RW ,BLKSECTGET ,BLKSECTSET ,TYPE_INTA ,1 ,255 ,1 ,2 , &max_sectors[major][minor],NULL );ide_add_setting (drive,"ticks" ,SETTING_RW ,-1 ,-1 ,TYPE_BYTE ,0 ,255 ,1 ,1 , &floppy->ticks,NULL );