Como posso obter timestamps de alta precisão (melhor que 1s) com o Samba?

3

Eu fiz um teste rápido e obtive os resultados abaixo. O que há com a horrível resolução do tempo? Existe uma maneira de melhorar isso?

creation
129971441605098285
mod
129971442166583272
a.ToFileTimeUtc()
129971442170000000
b.ToFileTimeUtc()
129971442170000000

Os resultados de ToFileTimeUtc (que retorna o número de 100ns desde 1º de janeiro de 1601) mostram que os timestamps foram arredondados para o segundo mais próximo, em vez de serem armazenados com sua precisão total.

Estou usando o Samba no Ubuntu. Eu peguei o arquivo de configuração de algum lugar. Estou transferindo arquivos para um sistema de arquivos NTFS montado pelo Linux sobre o samba

[global]
netbios name = toltec
workgroup = METRAN
security = user
wins support = yes
preferred master = yes
os level = 65


[homes]
comment = %u's Home Directory
browsable = no
read only = no
    
por Jeff Schaller 13.11.2012 / 08:15

1 resposta

1

Da longa cadeia de comentários, parece que o ntfs-3g (ou possivelmente o FUSE) não suporta totalmente timestamps de 100 ns, ou pelo menos a versão no Ubuntu 12.04 não suporta. Existem tópicos aleatórios do fórum que indicam que o FUSE 2.9 é necessário, mas Ubuntu 12.04 tem 2.8 .

O Ubuntu 12.10 tem o FUSE 2.9, mas não é uma versão de suporte de longo prazo. Então você provavelmente não quer atualizar para ele.

Outra alternativa seria mudar para um sistema de arquivos que suporta timestamps de alta resolução no Ubuntu 12.04, como o ext4. A menos que você planeje desconectar o disco do servidor Samba e conectá-lo a uma máquina Windows, essa é provavelmente uma escolha melhor do que o NTFS, especialmente se você ativar atributos estendidos no Samba.

    
por 14.11.2012 / 20:00