2

stat.h在osx 10.7的标题中,我在 fileflag 中找到了一个定义UF_TRACKED。我用谷歌搜索了这个定义,但没有找到关于标志的任何信息。你能向我描述一下这面旗帜的含义吗?当我尝试将属性应用于放置在已安装文件夹上的文件时,我遇到了它。该文件夹是远程 osx 10.7.3 上的 HFS+ 文件夹。

也许我可以忽略它?在这种情况下会发生什么?

4

1 回答 1

2

UF_TRACKED 是一个标志,它告诉HFS 在用户模式下对文件dentry 的任何更改(即重命名或删除,以及元数据的更改,但不是文件修改)发送事件到跟踪文件处理程序。您可以在头文件中看到这两个:

#define UF_TRACKED      0x00000040  /* file renames and deletes are tracked */

处理此问题的代码位于内核 bsd/hfs/hfs_vfsutils.c 中:

int
check_for_tracked_file(struct vnode *vp, time_t ctime, uint64_t op_type, void *arg)
{
        int tracked_error = 0, snapshot_error = 0;

        if (vp == NULL) {
                return 0;
        }

        if (VTOC(vp)->c_bsdflags & UF_TRACKED) {
 ... 

并且被到处调用,主要来自 hfs_vnops.c

于 2013-02-25T14:10:26.210 回答