Oops mounting floppy on 2.1.132 (continued)

christophe.leroy5@capway.com
Mon, 28 Dec 1998 15:22:04 +0100


Problem is in fs/fat/inode.c line 367 in fat_read_super, line is
if (CF_LE_L(fsinfo->signature) != 0x61417272) {
movl 4(%esi),%ecx
cmpl $1631679090,%ecx

struct fat_boot_fsinfo *fsinfo;

/* Must be FAT32 */
fat32 = 1;
movl $1,44(%esp)
MSDOS_SB(sb)->fat_length= CF_LE_W(b-
>fat32_length)*sector_mult;
xorl %esi,%esi
movw 36(%edx),%si
imull %ebx,%esi
movl %esi,52(%esp)
movl 52(%esp),%edi
movw %di,74(%ebp)
MSDOS_SB(sb)->root_cluster = CF_LE_L(b->root_cluster);
movl 44(%edx),%eax
movl %eax,88(%ebp)
MSDOS_SB(sb)->fsinfo_offset =
CF_LE_W(b->info_sector) * logical_sector_size +
0x1e0;
xorl %esi,%esi
movw 48(%edx),%si
imull 68(%esp),%esi
addl $480,%esi
movl %esi,92(%ebp)
fsinfo = (struct fat_boot_fsinfo *)
&bh->b_data[MSDOS_SB(sb)->fsinfo_offset];
movl 40(%esp),%edi
addl 36(%edi),%esi
movl %esi,48(%esp)
if (CF_LE_L(fsinfo->signature) != 0x61417272) {
movl 4(%esi),%ecx
cmpl $1631679090,%ecx
je .L976
printk("fat_read_super: Did not find valid FSINFO "
"signature. Found 0x%x\n",
CF_LE_L(fsinfo->signature));
pushl %ecx
pushl $.LC33
call printk
addl $8,%esp
jmp .L978
} else {
MSDOS_SB(sb)->free_clusters = CF_LE_L(fsinfo-
>free_clusters);
movl 48(%esp),%eax
movl 8(%eax),%eax
movl %eax,108(%ebp)
jmp .L978
}

christophe leroy

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/