我们在 CentOS 6 系统上使用 CIFS 来访问托管在 Windows 2008 集群上的大量 DFS 共享。直到昨天,这已被证明非常可靠。
昨天下午晚些时候,我们发现在两个共享上我们无法再创建包含十个以上字符的目录或文件名。
父目录结构的长度为 83 个字符,我们想要创建一个具有 50 个字符的新子目录,该子目录完全符合 Windows 服务器允许的 255 个字符的限制。
相关的挂载条目是:
//xxxxxx.com/PRDFS/OTRS_Index_CUST\134Index /opt/otrs/var/article cifs rw,relatime,sec=ntlm,cache=loose,unc=\\xxxxxx \OTRS_CUST_Index,username=xxx,domain=xxx,uid=48,forceuid,gid=48,forcegid,addr=10.135.16.55,file_mode=0775,dir_mode=0775,nounix,prepath=\Index,rsize=61440,wsize=65536,actimeo=1 0 0
确切的错误信息是:
fs/cifs/dir.c: Full path: \Index\2016\08\26\check_permissions_5714_623122911_1472217688_224561 inode = 0x(null)
fs/cifs/inode.c: Getting info on \Index\2016\08\26\check_permissions_5714_623122911_1472217688_224561
fs/cifs/transport.c: For smb_command 50
fs/cifs/transport.c: Sending smb: smb_len=210
fs/cifs/connect.c: RFC1002 header 0x23
fs/cifs/connect.c: invalid transact2 word count
fs/cifs/transport.c: cifs_sync_mid_result: cmd=50 mid=36157 state=4
Status code returned 0xc0000034 NT_STATUS_OBJECT_NAME_NOT_FOUND
fs/cifs/netmisc.c: Mapping smb error code 2 to POSIX err -2
fs/cifs/cifssmb.c: Send error in QPathInfo = -2
所有父目录都存在。
任何建议都将受到热烈欢迎。
短暂性脑缺血发作
肖恩
答案1
该问题最终被追溯到两个 Windows DFS 服务器同时失去对共享驱动器的访问权限。
通过重新启动 Windows 服务器并执行 chkdsk 解决了该问题。