diff -u --new-file --exclude-from ../exclude --recursive linux.vanilla/fs/fat/misc.c linux.15p6/fs/fat/misc.c
--- linux.vanilla/fs/fat/misc.c	Sat Aug 14 02:27:37 1999
+++ linux.15p6/fs/fat/misc.c	Wed Jan 12 01:22:48 2000
@@ -222,9 +222,10 @@
 	sector = MSDOS_SB(sb)->data_start+(nr-2)*cluster_size;
 	last_sector = sector + cluster_size;
 	if (MSDOS_SB(sb)->cvf_format &&
-	    MSDOS_SB(sb)->cvf_format->zero_out_cluster)
+	    MSDOS_SB(sb)->cvf_format->zero_out_cluster) {
 		MSDOS_SB(sb)->cvf_format->zero_out_cluster(inode,nr);
-	else
+		res=fat_bread(sb,fat_smap(inode,inode->i_blocks));
+	}else
 	for ( ; sector < last_sector; sector++) {
 		#ifdef DEBUG
 			printk("zeroing sector %d\n",sector);

