我偶爾會發現自己需要特定的文件系統API,如果受文件系統支持,它可以非常高效地實現,但我從來沒有聽說過它們。例如:從一開始就針對某些操作的高效文件系統API
- 截斷該文件,分配單元邊界
- 分割文件上分成兩個分配單元邊界
- 插入或從文件中刪除一大塊,再上一個分配單元的邊界
我知道做這種事情的唯一方法是將數據重寫到一個新文件中。這有一個好處,即分配單元不再相關,但與一些低級文件系統魔法相比,速度非常慢。
我知道對齊要求意味着這些方法並不總是適用,但我認爲它們仍然有用。例如,文件存檔器可能能夠在用戶從存檔中刪除文件後非常有效地修剪存檔,即使由於對齊原因而在任何一方留下少量垃圾。
這樣的API是否真的存在,或者我根本不知道它們?我主要對NTFS感興趣,但關於其他文件系統的聽法也很有趣。