2010-05-24 25 views
0

我偶尔会发现自己需要特定的文件系统API,如果受文件系统支持,它可以非常高效地实现,但我从来没有听说过它们。例如:从一开始就针对某些操作的高效文件系统API

  • 截断该文件,分配单元边界
  • 分割文件上分成两个分配单元边界
  • 插入或从文件中删除一大块,再上一个分配单元的边界

我知道做这种事情的唯一方法是将数据重写到一个新文件中。这有一个好处,即分配单元不再相关,但与一些低级文件系统魔法相比,速度非常慢。

我知道对齐要求意味着这些方法并不总是适用,但我认为它们仍然有用。例如,文件存档器可能能够在用户从存档中删除文件后非常有效地修剪存档,即使由于对齐原因而在任何一方留下少量垃圾。

这样的API是否真的存在,或者我根本不知道它们?我主要对NTFS感兴趣,但关于其他文件系统的听法也很有趣。

回答

0

Raymond Chen本质上是answered this question

他的回答是,不,这样的APIs不存在,因为它们的需求太少。雷蒙德还建议使用稀疏文件并通过将它们归零来分解块。

0

对于NTFS和FAT,没有这样的API。你可以obvoiusly截断文件结束,但不是开始。

由于文件系统缓存,实现这是不可取的。 大多数情况下,人们在NTFS上实现一个层以支持这一层。

相关问题