2012-02-01 31 views
1

在NTFS,文件的移动是原子的解释here如果涉及多个目录,是否正在移动文件原子?

[...]如果你是NTFS下运行,那么文件操作都是原子在文件 系统级别。就任何更高代码 而言,重命名将在单个操作中发生。

这是否意味着如果将文件从一个目录移动到另一个目录,移动文件也是原子的?或只在同一目录内?

我假设两个目录都位于同一个卷上。

回答

0

是的,它们是原子的。移动期间,源目录和目标目录都被锁定,防止程序看到飞行中的数据。

但是,这只是“失败原子性”。你的程序可能会采取行动,认为它已经移动了东西(并与其他服务器进行通信),但对控制结构本身的修改本身并未传递给媒体。功率损失可能会丢弃这些更改,但NTFS将确保目录的一致性(即,不需要chkdsk)。

后续的程序访问将会看到移动之前或移动之后的文件,但不是即将发生的。

+0

谢谢。除了可以添加一个链接到源? – mafu 2012-11-16 03:01:01

+0

你不能创建硬链接到目录,只有文件。硬链接创建也是原子的(它只是添加一个新的目录条目)。 – MJZ 2012-11-27 21:39:16

+0

哦,对不起,我的意思是,如果你可以给你的答案中的信息来源的链接:) – mafu 2012-11-28 10:05:58

相关问题