Por que meu arquivo tem várias entradas de tempo de exibição?

6

Usando o ext4 filesystem, consegui ler o tempo de criação de um arquivo usando a abordagem aqui . Como resultado, eu estou de fato provido de uma tabela contendo o crtime (tempo de criação) do inode (respectivo arquivo) em questão.

O que me confunde e para o qual não consegui encontrar uma resposta no man debugfs é porque me mostra 2 linhas com crtime , além disso nem ao mesmo tempo.

Esta é a saída que recebo

[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

Observe também que o segundo (e não realmente correto) crtime está entre parênteses e é igual ao mtime , já que salvei o arquivo obviamente duas vezes.

    
por humanityANDpeace 17.08.2016 / 22:33

1 resposta

6

Este é o resultado de um erro de edição no patch e2fsprogs debugfs: adicione suporte para definir corretamente e exibir timestamps estendidos . A segunda linha crtime: deve ser 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));

Eu enviei um relatório de bug.

    
por 18.08.2016 / 16:29