How to make VFAT work right in 2.4.0-prerelease
Hello.
HOWTO:
- edit file fs/fat/inode.c, look in the function named
"fat_notify_change" (at about line 901), where it says:"
/* FAT cannot truncate to a longer file */
if (attr->ia_valid & ATTR_SIZE) {
if (attr->ia_size > inode->i_size)
return -EPERM;
}
", just delete all of it (or comment it out). This change wich has beenmade in the -prerelease versión, makes Netscape Messenger not to work with email stored on a VFAT partition, ok, I guess that maybe is Netscape's fault though, but just removing that code makes Messenger at least work somewhat.
- apply attached patch made by Eelco Dolstra
<[email protected]>, I am testing and using this patch since 13.nov.2000 (a lot of time) and with various versions of the Linux 2.4.0-testXX series kernels and it works flawlessly! Without it you get allocation errors when using the "truncate()" C function to grow files (and Messenger seems to use it).
- recompile the kernel and be happy!
I don't know why this patch isn't applied yet on the official kernel
and why the kernel people made that change to the inode.c file, maybe they could explain us (please!).
Thanks a lot to everyone and special thanks to Eelco! Goodbye.
P.s.: yes, I am writing this email with Netscape Messenger with emails stored on a VFAT partition and using the 2.4.0-prerelease kernel with those changes: no problems so far.
Signature · 7 lines
Ivan Baldo: [email protected] - http://go.to/ibaldo - ICQ 10215364 Phone: (598) (2) 613 3223. Caldas 1781, 11400 Malvin, Montevideo, Uruguay, South America. (If you have problems with the previous addresses, try this ones: [email protected], http://members.xoom.com/baldo.1).
Re: How to make VFAT work right in 2.4.0-prereleaseu
Quoted 9 lines
- edit file
fs/fat/inode.c, look in the function named
"fat_notify_change" (at about line 901), where it says:"/* FAT cannot truncate to a longer file */ if (attr->ia_valid & ATTR_SIZE) { if (attr->ia_size > inode->i_size) return -EPERM; } ", just delete all of it (or comment it out). This change wich has beenmade in the -prerelease versión, makes Netscape Messenger not to work
If you do that you will corrupt your FAT fs. Very bad idea
Quoted 4 lines
- apply attached patch made by Eelco Dolstra
<[email protected]>, I am testing and using this patch since 13.nov.2000 (a lot of time) and with various versions of the Linux 2.4.0-testXX series kernels and it works flawlessly! Without it you get
2.4.0-ac has the truncate to grow stuff. It should just work out of the box. Let me know if not
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
Re: How to make VFAT work right in 2.4.0-prereleaseu
Hi,
Quoted 11 lines · Alan Cox
Quoted 9 lines
- edit file
fs/fat/inode.c, look in the function named
"fat_notify_change" (at about line 901), where it says:"/* FAT cannot truncate to a longer file */ if (attr->ia_valid & ATTR_SIZE) { if (attr->ia_size > inode->i_size) return -EPERM; } ", just delete all of it (or comment it out). This change wich has beenmade in the -prerelease versi�n, makes Netscape Messenger not to work
If you do that you will corrupt your FAT fs.
But only on SMP, right? The only other FAT change I see in -ac (apart from my patch) is the spinlock around fat_cache.
Regards,
Eelco.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
Re: How to make VFAT work right in 2.4.0-prereleaseu
Quoted 8 lines
Quoted 1 line
Quoted 1 line
=09", just delete all of it (or comment it out). This change wich has b=
een
Quoted 3 lines
Quoted 1 line
made in the -prerelease versi=F3n, makes Netscape Messenger not to work
=20
If you do that you will corrupt your FAT fs.But only on SMP, right? The only other FAT change I see in -ac (apart from my patch) is the spinlock around
fat_cache.
SMP and uniprocessor will both corrupt the fatfs sometimes if you ftruncate files larger without the grow the file patch.
Returning 0 not -EPERM also seems to be a valid standards compliant behaviour
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/