Bug 21151
| Summary: | Mounting FAT32 file system fails | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Linux | Reporter: | Matt Domsch <matt_domsch> |
| Component: | kernel | Assignee: | Michael K. Johnson <johnsonm> |
| Status: | CLOSED RAWHIDE | QA Contact: | Brock Organ <borgan> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 7.3 | CC: | notting |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | ia64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2000-11-28 05:13:12 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
kernel 2.4.0-0.34 (2.4.0-test9) is where this fails. Persists in 2.4.0-test10. Works in test11 on an ia32 box. Oddly, the filesystem was made on an ia32, so it's not a problem with mkdosfs. I've never seen this fail on IA-32, regardless of kernel. Sizeof(fat_boot_sector,fat_boot_fsinfo,msdos_dir_entry,msdos_dir_slot) are all
identical between IA-32 and IA-64. vfat_slot_info is different, but only
because loff_t changes size, but that isn't stored on-disk (I don't think).
#define MODULE
#define __KERNEL__
#define MODVERSIONS
#include <linux/module.h>
#include <linux/modversions.h>
#include <linux/config.h>
#include <linux/fs.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/msdos_fs.h>
int
init_module(void)
{
printk("sizeof(struct fat_boot_sector) = %d\n", sizeof(struct fat_boot_sector)
);
printk("sizeof(struct fat_boot_fsinfo) = %d\n", sizeof(struct fat_boot_fsinfo)
);
printk("sizeof(struct msdos_dir_entry) = %d\n", sizeof(struct msdos_dir_entry)
);
printk("sizeof(struct msdos_dir_slot) = %d\n", sizeof(struct msdos_dir_slot));
printk("sizeof(struct vfat_slot_info) = %d\n", sizeof(struct vfat_slot_info));
return 0;
}
void
cleanup_module(void)
{
}
Fixed in kernel24-2.4.0-0.41 (and 2.2.18pre23, FWIW). |
Mounting of a FAT32-formatted file system fails on IA-64. Same works on IA-32. (use fdisk to make one big sdb1 partition, 18GB or so) mkdosfs -F 32 /dev/sdb1 mount /dev/sdb1 /mnt/fat32-1 On IA-64, I get the following error: Directory 1: bad FAT (from linux/fs/fat/inode.c) File system panic (dev 08:11) FAT error (from linux/fs/fat/misc.c) File system has been set read-only. If the file system previously existed (created by any other tool), after the (read-only) mount, I can only see garbage.