USN 硬链接期刊

Posted

技术标签:

【中文标题】USN 硬链接期刊【英文标题】:USN journal for hard links 【发布时间】:2013-08-05 12:53:29 【问题描述】:

如果我的目录有几个硬链接都指向目录外的文件,对其中一个硬链接的更改会影响与该目录关联的 USN 日志,还是会影响包含该目录的原始目录的 USN 日志硬链接在创建时链接到的实际文件?

【问题讨论】:

【参考方案1】:

当您添加硬链接 USN_REASON_HARD_LINK_CHANGE 时,该期刊将获得一个条目。然后随着时间的推移,可能会打开任何硬链接并进行更改。随后的 USN 条目将全部引用原始文件的 FileReferenceNumber,但将包含取决于实际打开的链接的 FileName 和 ParentFileReferenceNumber。这是您可以用来区分链接的内容。请注意,仅使用 ParentFileReferenceNumber 进行区分可能很诱人,但这并不安全。虽然最广泛使用的模式是在不同目录中拥有同名链接,但您可以在同一目录中拥有不同名称的链接。

关于移动链接的注意事项:如果您选择以“摘要模式”读取 USN(您的 READ_USN_JOURNAL_DATA_V0 的 ReturnOnlyOnClose = 1),您只读取累积到文件关闭点的条目,您可能会错过USN_REASON_RENAME_OLD_NAME 条目...并且忘记了重命名是通过哪个链接进行的。这种 USN 记录不会累积到文件关闭事件中...我猜是因为 ParentFileReferenceNumber 和 FileName 的潜在冲突。

【讨论】:

以上是关于USN 硬链接期刊的主要内容,如果未能解决你的问题,请参考以下文章

硬链接的关于Linux系统的硬链接

什么是硬链接和软链接 --- 2021-11-08

软链接和硬链接详解

Linux文件系统中硬链接和软链接的区别

软链接和硬链接

Linux软链接和硬链接