不好意思,这个问题我有点回答不了,因为对于文件系统不够精熟,大家姑且看之
第一个其实可以认为是一个假的操作,UNIX里面有这个机制,不会占用实际空间,假如拷贝到另外一个文件,拷贝出来的文件就有实际的内容和长度了,好像会填写0,因为hole的部分读取出来是0。
直接分配簇的话,肯定会有inode的操作和meta的操作,这个会占用几个磁盘操作,但是假如是大量IO的话,我就认为是会擦除原有的区块内容了。我认为从性能的角度看,最好不要这样做,我们的确也没有这样做。但是从安全性的角度,通用的文件系统应该擦除原有的内容。