Since we had to shift (i.e. copy) blocks of data around in order to dynamically resize partitions that were formatted with FAT, NTFS, or HPFS file systems; we had to know the internal structures of each of them.
It's been a long time, but I seem to remember that there were a few areas that were not documented well by Microsoft and we had to guess what certain fields meant.
Because we often had to move file contents around, some files became more fragmented while others became less fragmented since we tried to be smart about where we moved file blocks.
My biggest takeaway was understanding file system architecture. For some features, I was impressed by what their architects designed. For others, I wondered why on Earth they did it 'that way'. I started keeping a list of things I wanted to be different and eventually incorporated many of them in my new object store design.
It's been a long time, but I seem to remember that there were a few areas that were not documented well by Microsoft and we had to guess what certain fields meant.
Because we often had to move file contents around, some files became more fragmented while others became less fragmented since we tried to be smart about where we moved file blocks.
My biggest takeaway was understanding file system architecture. For some features, I was impressed by what their architects designed. For others, I wondered why on Earth they did it 'that way'. I started keeping a list of things I wanted to be different and eventually incorporated many of them in my new object store design.
http://www.didgets.com