https://man7.org/linux/man-pages/man2/fallocate.2.html
FALLOC_FL_PUNCH_HOLE can deallocate space in the byte range starting. Within the specified range, partial filesystem blocks are zeroed, and whole filesystem blocks are removed from the file. With that, we don't need to GC rewrite blob files and still save disk space.