如何使用 Samba 获得高精度时间戳(优于 1 秒)?

如何使用 Samba 获得高精度时间戳(优于 1 秒)?

我做了一个快速测试并得到了以下结果。可怕的时间分辨率是怎么回事?我有什么办法可以让它变得更好吗?

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

ToFileTimeUtc(返回自 1601 年 1 月 1 日以来 100 纳秒刻度数)的结果显示时间戳已四舍五入到最接近的秒,而不是以其完整精度存储。

我在 Ubuntu 上使用 Samba。我从某处获取了配置文件。我正在将文件传输到 Linux 通过 samba 挂载的 NTFS 文件系统

[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

答案1

从长评论链来看,ntfs-3g(或者可能是FUSE)似乎并不完全支持100ns时间戳,或者至少Ubuntu 12.04中的版本不支持。有随机论坛主题表明需要 FUSE 2.9,但是Ubuntu 12.04 有 2.8

Ubuntu 12.10 确实有 FUSE 2.9,但它不是长期支持版本。所以您可能不想升级到它。

另一种选择是切换到 Ubuntu 12.04 中支持高分辨率时间戳的文件系统,例如 ext4。除非您打算断开磁盘与 Samba 服务器的连接并将其连接到 Windows 计算机,否则这可能是比 NTFS 更好的选择,尤其是在 Samba 中启用扩展属性的情况下。

相关内容