I have CentOS 7.0 VM with a volume mounted on a Windows 2012-R2 file server. The volume contains some big files related to an internal Wordpress site.
About a week ago the site became 'broken' and what I found is that from Linux the files look like this:
The readlink tool on Linux shows the same 'chineese' letters as shown in the screenshot.
Under Windows the same files look like this:
I talked to the sysadmin of the Windows server and he told me they turned on file deduplication on the Windows server about a week ago.
Looking at the properties on one of this files reveals that the 'size on disk' is really small, in addition the 'problem' files have the 'L' attribute which seems to support the relationship to deduplication.
The way I currently look at this is that what is apparently some kind of 'hardlink' on the Windows server is interpreted as a softlink by my CentOS system.
I have been experimenting with some mount settings but I have been unable to fix this problem (other than turning off the deduplication).
My current (Client) setup:
- CentOS 7.0
- samba-client-4.1.1-38.el7_0.x86_64
- samba-common-4.1.1-38.el7_0.x86_64
- samba-libs-4.1.1-38.el7_0.x86_64
- cifs-utils-6.2-7.el7.x86_64
The command in my /etc/fstab
\\xxxxxxxx\file\video /var/www/html/wp-content/uploads cifs nouser_xattr,nounix,iocharset=utf8,credentials=/etc/fstab.cifs.sa_video.credentials,_netdev,uid=apache,gid=apache,rw,auto 0 0
How do I get the Linux to see these files as files again?
Update 2015-06-15:
I updated the system to CentOS 7.1. Although this still runs Kernel "3.10" (to be exact: 3.10.0-229.4.2.el7.x86_64) this problem no longer occurs. So the solution is really to 'simply update' to CentOS 7.1.
See this bug: https://bugs.centos.org/view.php?id=7897
It looks like the
cifs
module needs to be patched in order to properly distinguish different reparse points. Since the bug is still open though, it doesn't look like the CentOS team has done anything to fix it.If you're feeling adventurous, the bug does have a link to a mailing list thread with a patch that should fix it. You could try applying the patch yourself and recompiling the kernel.