On Thu, 29 Aug 2019 14:14:35 +0200, Pali Rohár said: > On Wednesday 28 August 2019 18:08:17 Greg Kroah-Hartman wrote: > > The full specification of the filesystem can be found at: > > https://docs.microsoft.com/en-us/windows/win32/fileio/exfat-specification > > This is not truth. This specification is not "full". There are missing > important details, like how is TexFAT implemented. Well..given that the spec says it's an extension used by Windows CE... > 1.5 Windows CE and TexFAT > TexFAT is an extension to exFAT that adds transaction-safe operational > semantics on top of the base file system. TexFAT is used by Windows CE. TexFAT > requires the use of the two FATs and allocation bitmaps for use in > transactions. It also defines several additional structures including padding > descriptors and security descriptors. And these two pieces of info: > 3.1.13.1 ActiveFat Field > The ActiveFat field shall describe which FAT and Allocation Bitmap are active > (and implementations shall use), as follows: > 0, which means the First FAT and First Allocation Bitmap are active > 1, which means the Second FAT and Second Allocation Bitmap are active and is > possible only when the NumberOfFats field contains the value 2 > Implementations shall consider the inactive FAT and Allocation Bitmap as stale. > Only TexFAT-aware implementations shall switch the active FAT and Allocation > Bitmaps (see Section 7.1). > 3.1.16 NumberOfFats Field > The NumberOfFats field shall describe the number of FATs and Allocation Bitmaps > the volume contains. > The valid range of values for this field shall be: > 1, which indicates the volume only contains the First FAT and First Allocation Bitmap > 2, which indicates the volume contains the First FAT, Second FAT, First > Allocation Bitmap, and Second Allocation Bitmap; this value is only valid for > TexFAT volumes I think we're OK if we just set ActiveFat to 0 and NumberOfFats to 1. Unless somebody has actual evidence of a non-WindowsCE extfat that has NumberOfFats == 2....