Aug 21, 2012

A sunday well spent


Two month ago I've decided to encrypt some personal files, which wasn't a big deal thanks to stacked crypto file system we have in FreeBSD :) This weekend I've realized that the worst thing that could possibly happen to encrypted data did actually happen -- I couldn't recall the password.

Decision was made to roll back ZFS transactions to recover deleted snapshot. Performing such dangerous operation on personal laptop wasn't an option. Especially considering there was no spare disk laying around for a backup. So I've started hacking on ggate to create a union provider.

The key idea behind ggateu was not to use matadata storage but to relay on the fact that probability of encrypting disk sector into all zeros in negligible. That's the same trick used by PEFS to handle sparse files.

Utility available for download here: https://github.com/glk/ggateu

It worked for me, it's likely to be buggy and it's great for file system experiments!

p.s. Right after finishing initial version of ggateu it became clear ZFS uberblock for that particular transaction was long gone. By spending another half an hour typing semirandom passwords I've recovered my files. Still have no idea what the password was.