以前談過怎麼快速爲qemu生成磁盤文件,後來發現fallocate可以很好的做這件事。這個東西底層的實現不知道是什麼情況,至少可以:a.只讓文件看起來有那麼大,磁盤空間COW分配;b.一次把磁盤空間分配完。對於大文件來說,後者似乎要更好,因爲文件在磁盤上完全是連續的。這樣製造出的文件內容全爲0,某種程度上來說,fallocate是touch的增強版。
標題將fallocate與punch hole放在了一起。今天偶然看到punch hole 就是用fallocate實現的(http://lwn.net/Articles/415889/)。前段時間與某人談起未來的工作,某人說ext4還是btrfs上,punch hole尚未實現。接口都留好了,只需要有人來做了。很是懷疑這個信息已經過時了。。。