Estou interessado em btrfs e começo a entender e amar o processo COW.
Mas o que eu entendo é que preciso fazer snapshots para acompanhar todas as modificações feitas no arquivo. O que acontece quando há várias modificações entre 2 instantâneos? Acho que só tenho o último estado no momento do instantâneo.
Existe uma maneira com o btrfs ou outro sistema de arquivos para acompanhar todas as modificações nos arquivos (incluindo arquivos em movimento)? O IIRC DEC tinha esses recursos mantendo todos os backups de arquivos com extensão ~, depois ~~ depois ~~~ e assim por diante.
Os sistemas de arquivos estruturados em log fornecem isso, embora não da mesma maneira que o VMS. Você pode pensar neles como um buffer circular, lembrando as versões anteriores, desde que haja espaço para eles.
No Linux, um desses sistemas de arquivos é o NILFS2 ; ele fornece instantâneos contínuos e coleta de lixo configurável pelo usuário. O último significa que, quando um volume é preenchido, o usuário pode configurar quais instantâneos são excluídos - para que você possa ter muitos instantâneos recentes e instantâneos menos frequentes à medida que volta ao passado, em vez do mais óbvio "excluir os instantâneos mais antigos" se poderia esperar de um buffer circular.