Você pode tentar criar um arquivo esparso falso no sistema de arquivos em questão com truncate , marque a opção " aparente "e o tamanho" real ".
Um sistema de arquivos precisa suportar o sinalizador SEEK_HOLE lseek .
@DepressedDaniel ressalta que truncate usa a ftruncate chamada de sistema .