Linux sem tempo de modificação (nomtime)

5

Existe uma maneira de desativar o mtime de um sistema de arquivos?

Existe uma opção noatime independente do Filesystem, mas não "nomtime". Também na documentação específica do sistema de arquivos para ext4 e / ou btrfs eu não consegui encontrar isso.

Isso existe?

    
por 白川 マセル 05.07.2016 / 09:39

2 respostas

6

Não existe tal opção no kernel.

incluir / linux / statfs.h :

#define ST_NOATIME  0x0400  /* do not update access times */
#define ST_NODIRATIME   0x0800  /* do not update directory access times */
#define ST_RELATIME 0x1000  /* update atime relative to mtime/ctime */

Não consigo pensar em nenhuma finalidade funcional para essa opção, exceto para fins de teste (seu caso de uso).

Suas opções são:

  • Corrigir o kernel para adicionar essa opção
  • Corrigir o software do cliente para não reagir para modificar o tempo.
por 05.07.2016 / 10:03
2

Descobri que há o sinalizador S_NOCMTIME em include/linux/fs.h :

#define S_NOCMTIME    128     /* Do not update file c/mtime */

que parece fazer o que é necessário. Aparentemente, ele não está exposto para os usuários, mas existem exemplos de uso (apenas grep para ele), portanto, um deve ser capaz de hackear um pequeno patch para o sistema de arquivos.

Um caso de uso real evitaria atualizações de inode ao gravar pequenos trechos de dados em um buffer circular de tamanho fixo (por exemplo, para evitar ciclos desnecessários de exclusão em armazenamento baseado em NAND).

    
por 10.04.2018 / 17:31