我偶尔会发现自己需要特定的文件系统API,如果受文件系统支持,它可以非常高效地实现,但我从来没有听说过它们。例如:从一开始就针对某些操作的高效文件系统API
- 截断该文件,分配单元边界
- 分割文件上分成两个分配单元边界
- 插入或从文件中删除一大块,再上一个分配单元的边界
我知道做这种事情的唯一方法是将数据重写到一个新文件中。这有一个好处,即分配单元不再相关,但与一些低级文件系统魔法相比,速度非常慢。
我知道对齐要求意味着这些方法并不总是适用,但我认为它们仍然有用。例如,文件存档器可能能够在用户从存档中删除文件后非常有效地修剪存档,即使由于对齐原因而在任何一方留下少量垃圾。
这样的API是否真的存在,或者我根本不知道它们?我主要对NTFS感兴趣,但关于其他文件系统的听法也很有趣。