2002-09-29 19:46:22

by OGAWA Hirofumi

[permalink] [raw]
Subject: [PATCH] use fff/ffff/fffffff instead of ff8/fff8/ffffff8 for EOF of FAT


For example on FAT12, the current FAT driver recognize 0xff8-0xfff as
EOF, and it writes in 0xff8 as EOF. This is right behavior. However,
the firmware of some MP3-Players recognize only 0xfff(standard EOF
which Micorsoft uses) as EOF.

So, we write 0xfff instead of 0xff8 as EOF, until the reason we need
values other than standard EOF is found.

[Randy Dunlap, I appreciate your help.]

Please apply.
OGAWA Hirofumi <[email protected]>

--- linux-2.5/include/linux/msdos_fs.h~ 2002-09-29 16:46:46.000000000 +0900
+++ linux-2.5/include/linux/msdos_fs.h 2002-09-29 16:47:04.000000000 +0900
@@ -68,9 +68,9 @@
MSDOS_SB(s)->fat_bits == 16 ? BAD_FAT16 : BAD_FAT12)

/* standard EOF */
-#define EOF_FAT12 0xFF8
-#define EOF_FAT16 0xFFF8
-#define EOF_FAT32 0xFFFFFF8
+#define EOF_FAT12 0xFFF
+#define EOF_FAT16 0xFFFF
+#define EOF_FAT32 0xFFFFFFF
#define EOF_FAT(s) (MSDOS_SB(s)->fat_bits == 32 ? EOF_FAT32 : \
MSDOS_SB(s)->fat_bits == 16 ? EOF_FAT16 : EOF_FAT12)