2012-05-15 43 views
1

在osx 10.7的頭文件stat.h中,我找到了fileflag UF_TRACKED上的定義。我GOOGLE了定義,但沒有找到關於國旗的任何事情。你能描述一下這個標誌是什麼意思嗎?當我嘗試將屬性應用到放置在已安裝文件夾上的文件時遇到了這個問題。該文件夾是遠程OSX 10.7.3上的HFS +文件夾。也許我可以忽略它?在這種情況下會發生什麼?來自stat.h的UF_TRACKED文件標誌

回答

1

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