As diferenças são um pouco sutis.
O Reflink exclui o arquivo duplicado e cria um novo arquivo em seu lugar, que é um clone do arquivo original. Os metadados da duplicata são perdidos, embora o rmlint faça o possível para preservar os metadados através de algum truque com touch -mr
.
O clone usa o ioctl BTRFS_IOC_FILE_EXTENT_SAME (ou, na versão mais recente, o ioctl FIDEDUPERANGE), que solicita ao kernel para verificar se os arquivos são idênticos e, em caso afirmativo, fazê-los compartilhar as mesmas extensões de dados. Eles mantêm seus metadados originais. É indiscutivelmente mais seguro que o reflink porque é feito atomicamente pelo kernel e porque verifica se os arquivos ainda são idênticos.