Design suggestions for Change Block Tracking Driver

Experts,

We are currently in the design/prototype stage of a new disc change block
trackig driver for windows. Upon doing a lot of research on this topic and
several prototypes, we havent been able to find a good way to store the meta
data (changed sectors) on the tracked volume. Several approaches have been
considered:

  1. Creating meta data files on the disc/volume: Suc solutions are prone to
    conflicts with third party file level encryptor products
  2. Using free space to store meta data, and move them along on COW fashion
    when an actual OS write operation is prformed on that sector: Complex to
    maintai and debug, also will not work on removable discs at all, as if they
    are plugged into other machines where the CBT driver i absent, then it will
    lead to data corruption
  3. Using NTFS bitmap and to mark fre clusters as used, and then storing data
    on those clusters: Will not work on FAT. Also chkdsk will cause hazards.
  4. Using unused slack space on disc: Nopes, conflicts with similar products
    and also space might not be enough.
  5. Create a hidden partition and keep data there: not very user friendly.
    also we will need to resize this partition if disc size changes, so on RAID
    kind of setup it might not work.

We could not come up with a good solution that works on all scenarios. I am
sure some of you have this wisdom, and can help/guide me with your
experience.

Thanks

AP

PS: I didnt know the right form of this qn, so posting on both NTDEV and
NTTALK. Please lock the inappropriate thread.