Ranges longer than size_t.max

Stewart Gordon smjg_1998 at yahoo.com
Mon Dec 31 10:54:46 PST 2012


On 31/12/2012 17:50, Era Scarecrow wrote:
> On Sunday, 30 December 2012 at 19:11:51 UTC, Dmitry Olshansky wrote:
>> False. It's solely a question of FS used.
>> NTFS supports files larger then 4 Gb regardless of version Windows
>> (Win2K+ or even earlier). It doesn't matter what the bitness of OS in
>> question is. I suspect 32bit linux also has > 4Gb files even with ext2
>> no problem.
>>
>> And e.g. FAT32 remarkably can't handle 4 Gb+ files with any OS.
>
>   I was writing some code to go through the FAT12/16/32, and some
> interesting information was found (Although there was so much overhead I
> kinda stopped in the middle of it). FAT32 actually uses something like
> 28/29 bits for the sector id, the other 3-4 bits were flags like bad
> sectors, last sector and other minor data. At least that's what I
> remember off hand.

Sector?  Do you mean cluster?

I would have thought it used the whole 32 bits for cluster number, with 
magic values for "unused", "end of chain" and "bad".  In each case you 
don't need to point to the next cluster as well.  Unless it supports 
something like marking an in-use cluster as bad but leaving until 
another day the task of moving the data from it into a good cluster.

But looking through
>   http://en.wikipedia.org/wiki/Fat32

there are indeed a handful of magic values for things like this.

Anyway, that states that it uses 28 bits for the cluster number, but 
nothing about what the other 4 bits are for.

But a possibility I can see is that these 4 bits were reserved for bit 
flags that may be added in the future.

Stewart.


More information about the Digitalmars-d mailing list