Ext4

為什麼我的文件有多個 crtime 條目?

  • August 18, 2016

使用文件系統,我能夠使用這裡的方法ext4讀出文件的創建時間。結果,我確實得到了一個表格,其中包含有問題的 inode(相應文件)的(創建時間)。crtime

讓我感到困惑並且我無法在其中找到答案的man debugfs原因是為什麼它向我顯示 2 行crtime,而且甚至不是同一時間。

這是我得到的輸出

[user ~] $ sudo debugfs -R "stat <274742>" /dev/sda2
debugfs 1.43.1 (08-Jun-2016)
Inode: 274742   Type: regular    Mode:  0644   Flags: 0x80000
Generation: 3666549610    Version: 0x00000000:00000001
User:  1000   Group:  1000   Project:     0   Size: 0
File ACL: 0    Directory ACL: 0
Links: 0   Blockcount: 0
Fragment:  Address: 0    Number: 0    Size: 0
ctime: 0x57b4c632:1e30ee34 -- Wed Aug 17 22:16:50 2016
atime: 0x57b4c4c0:afa082b0 -- Wed Aug 17 22:10:40 2016
mtime: 0x57b4c632:1e30ee34 -- Wed Aug 17 22:16:50 2016
crtime: 0x57b4c4c0:afa082b0 -- Wed Aug 17 22:10:40 2016
crtime: 0x57b4c632:(1e30ee34) -- Wed Aug 17 22:16:50 2016
Size of extra inode fields: 32

另請注意,第二個(並不是真正正確的)crtime在括號中並且等於mtime,因為我顯然兩次保存到文件中。

這是 e2fsprogs 更新檔debugfs 中編輯錯誤的結果:添加支持以正確設置和顯示擴展時間戳。第二個**crtime:**行應該是dtime :

if (inode->i_dtime)
 fprintf(out, "%scrtime: 0x%08x:(%08x) -- %s", prefix,
         large_inode->i_dtime, large_inode->i_ctime_extra,
         inode_time_to_string(inode->i_dtime,
         large_inode->i_ctime_extra));

我送出了一個錯誤報告。

引用自:https://unix.stackexchange.com/questions/304067