在windows mount上通过linux查看时损坏的xml文件

时间:2014-02-06 14:28:55

标签: linux windows mount corruption

我有一个安装在windows share / mnt / somedire /上的linux盒子,它指向一个Windows服务器。我有另一个Windows应用程序将xml文件写入Windows共享。然后,linux框上的ESB应用程序使用mount上的xml文件。

当通过windows(记事本或notepadd ++)生成和查看xml文件时,它们没问题。当通过cat,vi等命令通过linux查看xml的最后5或6行时,它们是同一个文件。

之前有没有人见过这个,你能告诉我如何解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

当您写入文件时,操作系统不会立即写入磁盘 - 它会写入多级缓存:文件系统缓存,块缓存,设备缓存等。

定期地,缓存被“刷新” - 写入底层设备。例如,umount就是这样。

因此,当您的Windows应用程序将一些XML写入文件时 - 它会写入NTFS缓存。在Windows上读取此文件将通过相同的缓存完成,这就是它在Windows上保持一致的原因。但是你的Linux机箱对该缓存一无所知 - 它有自己的缓存。

要避免此问题,您应该在Windows上使用直接I / O编写。

答案 1 :(得分:0)

好像你的桑巴坐骑有问题。你的数据在Linux上没有得到冲洗。

尝试卸载并重新安装您的samba共享。

相关问题