【发布时间】:2011-01-11 20:13:01
【问题描述】:
在 Mac OS X 中支持 ACL,有一种方法可以将文件声明为可写但不可删除。
这会给原子写入带来问题,因为 VFS 中的 rename 的 current implementation deletes 是预先存在的目标。如果您有一个现有的文件,您对其具有写入权限,则可能无法自动写入:
只需附加一个声明 deny delete 的 ACL,原子写入(如由各种 Cocoa API 实现的 - 例如 NSArray's writeToFile:atomically:)将失败,而非原子写入将很高兴成功。
由于我对低级 C 代码的理解相当有限:
只有轻微(插入您最喜欢的“轻微”定义)头痛的替代实现是否可行?
谢谢
丹尼尔
【问题讨论】:
标签: osx-snow-leopard darwin vfs hfs+