2010-05-24 29 views
0

我偶爾會發現自己需要特定的文件系統API,如果受文件系統支持,它可以非常高效地實現,但我從來沒有聽說過它們。例如:從一開始就針對某些操作的高效文件系統API

  • 截斷該文件,分配單元邊界
  • 分割文件上分成兩個分配單元邊界
  • 插入或從文件中刪除一大塊,再上一個分配單元的邊界

我知道做這種事情的唯一方法是將數據重寫到一個新文件中。這有一個好處,即分配單元不再相關,但與一些低級文件系統魔法相比,速度非常慢。

我知道對齊要求意味着這些方法並不總是適用,但我認爲它們仍然有用。例如,文件存檔器可能能夠在用戶從存檔中刪除文件後非常有效地修剪存檔,即使由於對齊原因而在任何一方留下少量垃圾。

這樣的API是否真的存在,或者我根本不知道它們?我主要對NTFS感興趣,但關於其他文件系統的聽法也很有趣。

回答

0

Raymond Chen本質上是answered this question

他的回答是,不,這樣的APIs不存在,因爲它們的需求太少。雷蒙德還建議使用稀疏文件並通過將它們歸零來分解塊。

0

對於NTFS和FAT,沒有這樣的API。你可以obvoiusly截斷文件結束,但不是開始。

由於文件系統緩存,實現這是不可取的。 大多數情況下,人們在NTFS上實現一個層以支持這一層。

相關問題