Microsoft KB Archive/321946

= DISK_IOCTL_DELETE_SECTORS Causes FAT Corruption =

Article ID: 321946

Article Last Modified on 5/27/2005

-

APPLIES TO


 * Microsoft Windows CE Platform Builder 4.0
 * Microsoft Windows CE .NET 4.2

-



This article was previously published under Q321946



SYMPTOMS
Disk corruption may occur on DiskOnChip media with the Windows CE TrueFFS drivers. This problem may also occur on other media if the underlying block device driver supports DISK_IOCTL_DELETE_SECTORS.



CAUSE
An error in the calculation of the disk sector number that is passed from the FAT file system driver (FATFSD) to the block device driver during a delete-sector operation may cause the block device driver to clear the contents of an incorrect sector.



RESOLUTION
A supported software update is now available from Microsoft as Windows CE 4.0 Core OS QFE Q321946. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:

837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products

The English version of this package should have the following file attributes or later:   Size      File name -  706,904   020517_armv4i_wce40-q321946.exe 706,904  020517_armv4t_wce40-q321946.exe 706,904  020517_armv4_wce40-q321946.exe 649,560  020517_mips16_wce40-q321946.exe 727,384  020517_mipsii_fp_wce40-q321946.exe 727,384  020517_mipsii_wce40-q321946.exe 743,768  020517_mipsiv_fp_wce40-q321946.exe 743,768  020517_mipsiv_wce40-q321946.exe 670,040  020517_sh3_wce40-q321946.exe 670,040  020517_sh4_wce40-q321946.exe 608,600  020517_x86_wce40-q321946.exe The English version of this fix should contain the following files, with the listed file attributes or later:   Date         Time   Size     File name   Platform --  15-May-2002  16:13  716,608  Fatfsd.lib  armv4\debug 15-May-2002 16:13   77,824  Fatfsd.pdb  armv4\debug 15-May-2002 16:14  113,544  Mspart.lib  armv4\debug 15-May-2002 16:14   77,824  Mspart.pdb  armv4\debug 15-May-2002 16:13  402,182  Fatfsd.lib  armv4\retail 15-May-2002 16:13   77,824  Fatfsd.pdb  armv4\retail 15-May-2002 16:14   83,910  Mspart.lib  armv4\retail 15-May-2002 16:14   77,824  Mspart.pdb  armv4\retail 15-May-2002 16:16  717,344  Fatfsd.lib  armv4i\debug 15-May-2002 16:16   77,824  Fatfsd.pdb  armv4i\debug 15-May-2002 16:17  113,704  Mspart.lib  armv4i\debug 15-May-2002 16:17   77,824  Mspart.pdb  armv4i\debug 15-May-2002 16:16  402,982  Fatfsd.lib  armv4i\retail 15-May-2002 16:16   77,824  Fatfsd.pdb  armv4i\retail 15-May-2002 16:17   84,068  Mspart.lib  armv4i\retail 15-May-2002 16:17   77,824  Mspart.pdb  armv4i\retail 15-May-2002 16:15  682,408  Fatfsd.lib  armv4t\debug 15-May-2002 16:15   77,824  Fatfsd.pdb  armv4t\debug 15-May-2002 16:16  102,476  Mspart.lib  armv4t\debug 15-May-2002 16:16   77,824  Mspart.pdb  armv4t\debug 15-May-2002 16:14  402,440  Fatfsd.lib  armv4t\retail 15-May-2002 16:14   77,824  Fatfsd.pdb  armv4t\retail 15-May-2002 16:15   81,556  Mspart.lib  armv4t\retail 15-May-2002 16:15   77,824  Mspart.pdb  armv4t\retail 15-May-2002 16:21  622,456  Fatfsd.lib  mips16\debug 15-May-2002 16:21   86,016  Fatfsd.pdb  mips16\debug 15-May-2002 16:21   94,554  Mspart.lib  mips16\debug 15-May-2002 16:21   77,824  Mspart.pdb  mips16\debug 15-May-2002 16:20  342,250  Fatfsd.lib  mips16\retail 15-May-2002 16:20   86,016  Fatfsd.pdb  mips16\retail 15-May-2002 16:21   68,800  Mspart.lib  mips16\retail 15-May-2002 16:21   77,824  Mspart.pdb  mips16\retail 15-May-2002 16:18  733,748  Fatfsd.lib  mipsii\debug 15-May-2002 16:18   86,016  Fatfsd.pdb  mipsii\debug 15-May-2002 16:18  108,522  Mspart.lib  mipsii\debug 15-May-2002 16:18   77,824  Mspart.pdb  mipsii\debug 15-May-2002 16:17  403,714  Fatfsd.lib  mipsii\retail 15-May-2002 16:17   86,016  Fatfsd.pdb  mipsii\retail 15-May-2002 16:18   82,460  Mspart.lib  mipsii\retail 15-May-2002 16:18   77,824  Mspart.pdb  mipsii\retail 15-May-2002 16:22  733,890  Fatfsd.lib  mipsII_fp\debug 15-May-2002 16:22   86,016  Fatfsd.pdb  mipsII_fp\debug 15-May-2002 16:23  108,552  Mspart.lib  mipsII_fp\debug 15-May-2002 16:23   77,824  Mspart.pdb  mipsII_fp\debug 15-May-2002 16:22  403,854  Fatfsd.lib  mipsII_fp\retail 15-May-2002 16:22   86,016  Fatfsd.pdb  mipsII_fp\retail 15-May-2002 16:22   82,492  Mspart.lib  mipsII_fp\retail 15-May-2002 16:22   77,824  Mspart.pdb  mipsII_fp\retail 15-May-2002 16:19  750,088  Fatfsd.lib  mipsiv\debug 15-May-2002 16:19   86,016  Fatfsd.pdb  mipsiv\debug 15-May-2002 16:20  106,262  Mspart.lib  mipsiv\debug 15-May-2002 16:20   77,824  Mspart.pdb  mipsiv\debug 15-May-2002 16:19  420,132  Fatfsd.lib  mipsiv\retail 15-May-2002 16:19   86,016  Fatfsd.pdb  mipsiv\retail 15-May-2002 16:20   81,734  Mspart.lib  mipsiv\retail 15-May-2002 16:20   77,824  Mspart.pdb  mipsiv\retail 15-May-2002 16:24  750,230  Fatfsd.lib  mipsiv_fp\debug 15-May-2002 16:24   86,016  Fatfsd.pdb  mipsiv_fp\debug 15-May-2002 16:24  106,292  Mspart.lib  mipsiv_fp\debug 15-May-2002 16:24   77,824  Mspart.pdb  mipsiv_fp\debug 15-May-2002 16:23  420,272  Fatfsd.lib  mipsiv_fp\retail 15-May-2002 16:23   86,016  Fatfsd.pdb  mipsiv_fp\retail 15-May-2002 16:24   81,764  Mspart.lib  mipsiv_fp\retail 15-May-2002 16:24   77,824  Mspart.pdb  mipsiv_fp\retail 15-May-2002 16:11  626,188  Fatfsd.lib  sh3\debug 15-May-2002 16:11   86,016  Fatfsd.pdb  sh3\debug 15-May-2002 16:11   97,884  Mspart.lib  sh3\debug 15-May-2002 16:11   77,824  Mspart.pdb  sh3\debug 15-May-2002 16:10  368,614  Fatfsd.lib  sh3\retail 15-May-2002 16:10   86,016  Fatfsd.pdb  sh3\retail 15-May-2002 16:11   74,672  Mspart.lib  sh3\retail 15-May-2002 16:11   77,824  Mspart.pdb  sh3\retail 15-May-2002 16:12  625,836  Fatfsd.lib  sh4\debug 15-May-2002 16:12   77,824  Fatfsd.pdb  sh4\debug 15-May-2002 16:13   97,884  Mspart.lib  sh4\debug 15-May-2002 16:13   77,824  Mspart.pdb  sh4\debug 15-May-2002 16:12  367,812  Fatfsd.lib  sh4\retail 15-May-2002 16:12   77,824  Fatfsd.pdb  sh4\retail 15-May-2002 16:12   74,516  Mspart.lib  sh4\retail 15-May-2002 16:12   77,824  Mspart.pdb  sh4\retail 15-May-2002 16:09  613,982  Fatfsd.lib  x86\debug 15-May-2002 16:09   86,016  Fatfsd.pdb  x86\debug 15-May-2002 16:10   86,416  Mspart.lib  x86\debug 15-May-2002 16:10   77,824  Mspart.pdb  x86\debug 15-May-2002 16:09  325,014  Fatfsd.lib  x86\retail 15-May-2002 16:09   77,824  Fatfsd.pdb  x86\retail 15-May-2002 16:09   65,804  Mspart.lib  x86\retail 15-May-2002 16:09   77,824  Mspart.pdb  x86\retail



MORE INFORMATION
Support for the DISK_IOCTL_DELETE_SECTORS operation in block device drivers is optional. This driver control code is used to inform the block device driver that a sector is no longer in use and can be erased.

The ATADISK and ATAPI block device drivers that are supplied in Windows CE .NET for use on the FAT file system on ATA Flash, CompactFlash, and hard disk devices are not affected by this problem.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Keywords: kbbug kbfix kbqfe KB321946

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.