Fix erroneous use of device blocksize instead of logical sector size in 
Atari GEMDOS FAT code (GEMDOS uses a 16 bit FAT and a constant 2 logical 
sectors per cluster, and modifies the logical sector size to cope with the 
limits imposed by the 16 bit FAT). The bug was probably introduced by me when 
porting this code forward from 2.4.
With this fix, I can successfully mount GEMDOS partitons up to 256 MB in size 
as 
prepared by Petr Stehlik. 512 MB require 8k sector size, sorry. 

Signed-off-by: Michael Schmitz <schm...@debian.org>
---
 fs/fat/inode.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index 34dda7a..8156229 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -1387,7 +1387,7 @@ int fat_fill_super(struct super_block *sb, void *data, 
int silent,
                 * it's a real MSDOS partition with 12-bit fat.
                 */
                if (sbi->fat_bits != 32 && total_clusters+2 > sbi->
-                       fat_length*SECTOR_SIZE*8/sbi->fat_bits)
+                       fat_length*sb->s_blocksize*8/sbi->fat_bits)
                        sbi->fat_bits = 12;
                /* if it's a floppy disk --> 12bit fat */
                if (sbi->fat_bits != 32 && MAJOR(sb->s_dev) == FLOPPY_MAJOR)
-- 
1.5.6.5


-- 
To UNSUBSCRIBE, email to debian-68k-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to